psutilへの依存関係の依存関係を持つパッケージを作成しました(my-package
依存するthird-party-package
依存関係psutil
)。
接続も もなしでサーバー上で実行することになっているため、 Python プラットフォームのホイールとを使用gcc
してローカルで展開を準備し、すべてをサーバーに送信しました。psutil
pip install my-package --download
サーバー上ですべての準備が整いましたが、何らかの理由でインストールを実行すると、インストールがpip
拒否されpsutil
ます。サーバーは、pip 7.1.0、virtualenv 1.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...
何が欠けていますか?どんな手掛かり ?