使用 Python 3.8 安装 jupyter 失败并显示"SyntaxError: invalid syntax",因为它使用的是 Python 2.7



在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的特定版本,通常是python3pip3

根据你安装Python 3.8的方式,最佳实践是:

  1. 使用<python> -m pip命令,这意味着"使用来自此<python>安装的pip"。(你可以通过python -V查看版本)

    ~$ python3 -V
    Python 3.9.1
    ~$ python3 -m pip install jupyter
    
  2. 创建虚拟环境并在虚拟环境中安装软件包

    ~$ 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在系统范围内安装程序相比,您在虚拟环境中安装的软件包只有在激活虚拟环境时才可用。

相关内容