4

アプリケーションの依存関係を自動的に取得するために virtualenv で使用している pip 要件ファイルがあります。

アプリケーションは NumPy と SciPy の両方に依存しているため、私の pip 要件ファイルには次のものが含まれています。

numpy==1.5.0
scipy==0.8.0

ただし、この pip を新しい virtualenv で実行すると、インストールは次のエラーで失敗します。

File "/Users/x/virtualenv/deploy/src/scipy/setup.py", line 58, in svn_version
    from numpy.compat import asstr
ImportError: No module named numpy.compat
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

これは、SciPy をビルドする前に NumPy をインストールする必要があるために発生します。したがって、SciPy を削除してから手動で SciPy を追加すると (pip install scipy)、機能します。

pip が特定の順序でインストールされない場合、この問題を解決するにはどうすればよいですか?

4

2 に答える 2

4

私はあなたができるとは思わない。Pip と setuptools は標準的なツールではありません - 私たちは善意に基づいてそれらをサポートしようとしますが、脆弱です。特に、scipy setup.py は numpy を実行する必要があるため、 install_requires 引数を使用して動作することはできません。

于 2010-11-12T06:38:10.390 に答える
1

私はまったく同じ問題に遭遇しました!幸い、pipの最新の開発バージョンでは、要件ファイルにリストされているのと同じ順序でパッケージがインストールされます。

このコマンドで更新しました( pipはBitbucketでホストされているため、 Mercurialが必要です):

pip install hg+https://bitbucket.org/ianb/pip
于 2011-01-18T10:09:35.653 に答える