在mac上,我已经安装了Python 3.8,我正在尝试使用:
pip install jupyter
它运行了,但是我在终端中得到以下输出:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 11, in <module>
load_entry_point('pip==21.0.1', 'console_scripts', 'pip')()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2843, in load_entry_point
return ep.load()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2434, in load
return self.resolve()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2440, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/Library/Python/2.7/site-packages/pip-21.0.1-py2.7.egg/pip/_internal/cli/main.py", line 60
sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax
看起来很奇怪,因为我在Python 3.8上,输出似乎指向Python 2.7。
无论如何,当我尝试jupyter notebook
仍然没有找到jupyter
命令。
From the error
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2440, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/Library/Python/2.7/site-packages/pip-21.0.1-py2.7.egg/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}")
您可以看到您使用的pip
来自Python 2.7安装。最新的pip 21.0将无法在该版本上工作,并且f-string仅从Python 3.6开始可用。
顺便说一下,安装失败了,所以尝试使用jupyter
命令之后,当然,仍然不能工作。
看起来很奇怪,因为我在Python 3.8上,输出似乎指的是Python 2.7
你将总是必须显式地指示你想使用哪个Python版本。由于macOS自带内置Python 2.7安装,因此您必须显式地指示Python 3的特定版本,通常是python3
和pip3
。
根据你安装Python 3.8的方式,最佳实践是:
-
使用
<python> -m pip
命令,这意味着"使用来自此<python>
安装的pip
"。(你可以通过python -V
查看版本)~$ python3 -V Python 3.9.1 ~$ python3 -m pip install jupyter
-
创建虚拟环境并在虚拟环境中安装软件包
~$ python3 -V Python 3.9.1 ~$ python3 -m venv myenv ~$ source ./myenv/bin/activate (myenv) ~$ python -V Python 3.9.1 (myenv) ~$ python3 -V Python 3.9.1 (myenv) ~$ pip install jupyter
虚拟环境负责使用正确的Python版本,
pip install
-ing也使用正确的版本。与选项1在系统范围内安装程序相比,您在虚拟环境中安装的软件包只有在激活虚拟环境时才可用。