Python 使用pip安装软件包的最新兼容版本
我正在尝试使用PIP 9.0.1(Python 3.3)安装NumPy:Python 使用pip安装软件包的最新兼容版本,python,pip,pypi,Python,Pip,Pypi,我正在尝试使用PIP 9.0.1(Python 3.3)安装NumPy: /opt/python/cp33-cp33m/bin/pip安装'numpy=1.7' PIP兴高采烈地收集numpy-1.12,然后死去,因为numpy-1.11是支持Python 3.3的最后一个版本 Collecting numpy Using cached numpy-1.12.1.zip Complete output from command python setup.py egg_info:
/opt/python/cp33-cp33m/bin/pip安装'numpy=1.7'
PIP兴高采烈地收集numpy-1.12,然后死去,因为numpy-1.11是支持Python 3.3的最后一个版本
Collecting numpy
Using cached numpy-1.12.1.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-4jvhwz/numpy/setup.py", line 34, in <module>
raise RuntimeError("Python version 2.7 or >= 3.4 required.")
RuntimeError: Python version 2.7 or >= 3.4 required.
收集numpy
使用缓存的numpy-1.12.1.zip
从命令python setup.py egg_info完成输出:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/tmp/pip-build-4jvhwz/numpy/setup.py”,第34行,在
引发运行时错误(“需要Python版本2.7或>=3.4。”)
运行时错误:需要Python版本2.7或>=3.4。
如何让pip安装软件包的最新兼容版本
当然,我可以手动解决这个问题。但是这段代码是在一个包含大量Python发行版的批处理脚本中(我正在构建manylinux wheels),因此只有一个编程解决方案是合适的。可能没有办法让PIP自动完成这项工作,但是可以使用如下字符串来限制为特定版本的Python安装的内容:
numpy>=1.7,<2; python_version > '3.4'
numpy>=1.7,<1.12; python_version < '3.4'
numpy>=1.7,'3.4'
numpy>=1.7,pip
已经安装了它可以选择的最新兼容版本。附加检查发生在numpy
s设置脚本中,而pip
对此无能为力。这种情况描述了引入wheel格式的原因之一。
numpy>=1.7,<2; python_version > '3.4'
numpy>=1.7,<1.12; python_version < '3.4'