【发布时间】:2016-09-15 15:13:25
【问题描述】:
我写了一个依赖于psutil的包(my-package依赖于third-party-package,而third-party-package依赖于psutil)。
由于它应该在没有任何连接且没有gcc 的服务器上运行,因此我使用psutil python platform wheel 和pip install my-package --download 在本地准备了部署,然后将所有内容发送到服务器上。
现在服务器上的一切都准备好了,但是由于某种原因,当我运行安装时,pip 拒绝安装 psutil。请注意,服务器是运行 pip 7.1.0、virtualenv1.10.1 和 python 2.7.5 的 red hat 7.2(我无法更改任何版本)。
$ pip install /tmp/python_packages/my-package-1.4.zip --no-index
--find-links /tmp/python_packages/ --use-wheel
Ignoring indexes: https://pypi.python.org/simple/
# blablabla, everything goes fine, then
Downloading/unpacking psutil (from third-party-package>=0.9->my-package==1.4)
Could not find any downloads that satisfy the requirement psutil
(from third-party-package>=0.9->my-package==1.4)
Cleaning up...
No distributions at all found for psutil (from third-party-package>=0.9->my-package==1.4)
Storing complete log in /home/anto/.pip/pip.log
pip.log 是这样说的:
Downloading/unpacking psutil (from third-party-package>=0.9->my-package==1.4)
URLs to search for versions for psutil (from third-party-package>=0.9->my-package==1.4):
# bla
Skipping file:///tmp/python_packages/psutil-4.2.0-cp27-cp27mu-linux_x86_64.whl
because it is not compatible with this Python
# bla
Could not find any downloads that satisfy the requirement psutil (from third-
party-package>=0.9->my-package==1.4)
Cleaning up...
所以“与此 Python 不兼容”,好吧。但这里是真正奇怪的部分:如果我安装 psutil 而不安装其他任何东西,然后其他的,一切都会好起来的。
$ pip install /tmp/python_packages/psutil-4.2.0-cp27-cp27mu-linux_x86_64.whl
Unpacking /tmp/python_packages/psutil-4.2.0-cp27-cp27mu-linux_x86_64.whl
Installing collected packages: psutil
Successfully installed psutil
Cleaning up...
$ pip freeze -l
psutil==4.2.0
$ pip install /tmp/python_packages/my-package-1.4.zip --no-index
--find-links /tmp/python_packages/ --use-wheel
# blablabla
Successfully installed my-package third-party-package
Cleaning up...
我错过了什么?有什么线索吗?
【问题讨论】:
-
什么是第三方包?
-
这是我公司内部某人开发的一个包。 setup.py 包含
install_requires = ['psutil'];没什么花哨的。 -
不确定您是否有多个 python 版本,但在 pip.log 中验证在这两种情况下使用的 python 是正确的版本? (stackoverflow.com/questions/29879504/…) 不相信这是你的问题,但这是一个开始。另一方面,你为什么还在 2.7.5 上?最新的是 2.7.11。
-
另外,看起来你的 psutil 是 64 位的,也许这是问题的一部分?
-
您好,感谢您的建议。我认为系统和pip上的python版本是一致的,但我会仔细检查。我没有使用最新的 python,因为该服务器附带 2.7.5,我坚持使用它。
psutil的轮子是 64 位的,因为虚拟机是 64 位的(但也许它确实与根本原因有关?)
标签: python python-2.7 pip python-wheel psutil