11

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...

何が欠けていますか?どんな手掛かり ?

4

3 に答える 3

1

wheel の作成に使用する wheel のバージョンが、デプロイ時に使用したバージョンと同じであることを確認してください。

wheel 0.24.0 を使用して、0.29.0 でビルドされた wheel をデプロイしようとしたときに、同じ問題が発生しました。

wheel のビルドに使用した wheel のバージョンを、デプロイ時に使用したバージョンと一致するようにダウングレードしたところ、問題は解決しました。

于 2016-12-05T13:21:12.507 に答える