为特定版本的 Python 安装包时出现问题

时间:2021-07-23 07:00:08

标签: python pip cython

我需要在 Python 2.7.x 中运行一些代码。我有 Python 2.7.16、Python 3.9.6,以及 pip 和 pip3(指向同一个地方),如下所示:

% python --version
Python 2.7.16
% python3 --version
Python 3.9.6
% pip --version
pip 21.1.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
% pip3 --version
pip 21.1.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

code I am trying to run 要求我运行 python setup.py build 但这会产生错误:

Traceback (most recent call last):
  File "setup.py", line 25, in <module>
    from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils

所以,安装 cython 给了我:

% pip install cython 
Requirement already satisfied: cython in /usr/local/lib/python3.9/site-packages (0.29.24)

注意这指向 Python 3,而不是 Python 2.7。所以我尝试运行 python -m pip install cython 但这会产生以下错误:

Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/Library/Python/2.7/site-packages/pip-21.0-py2.7.egg/pip/__main__.py", line 21, in <module>
    from pip._internal.cli.main import main as _main
  File "/Library/Python/2.7/site-packages/pip-21.0-py2.7.egg/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

不知道是怎么回事。我最近更新了 Xcode,所以这应该不是问题。

1 个答案:

答案 0 :(得分:0)

基于此

% python --version
Python 2.7.16
% python3 --version
Python 3.9.6
% pip --version
pip 21.1.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
% pip3 --version
pip 21.1.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

还有这个python setup.py build

似乎你应该使用 python3 setup.py build 因为 f 字符串不是 python 2 的一部分