0

virtualenv がパッケージをどのように扱うかについて、私は本当に混乱しています。私はOSXを使用しており、Homebrewに続いてpython2と3をインストールしましたpip install virtualenv

ターミナルで:

cd Virtualenv/MyTestEnv
. bin/activate
pip install numpy

そのenv内でプログラムを実行した場合にのみアクセスできるvirtualenvフォルダーにnumpyをインストールします。私が読んだことから、システム$PATHを変更することでこれを行います。ただし、numpy でプログラムを実行しようとすると、次のことができません。

(MyTestEnv)___________________
| ~/desktop/Python @ My-MBP (chronologos) 
| => ./wordsrt.py
Traceback (most recent call last):
  File "./wordsrt.py", line 2, in <module>
    import numpy
ImportError: No module named numpy

プログラムには次の 2 行しかありません。

#!/usr/bin/env python
import numpy

そして、私がpip listnumpyを実行すると、インストール済みとして表示されますか? ハッシュバンに問題がありますか?助けていただければ幸いです!

4

2 に答える 2

1

これが問題です:

#!/usr/bin/env python

私にとってより自然に感じる virtualenv から python を実行する別の方法は

MyTestEnv/bin/python wordsrt.py

これを試して。

于 2014-01-22T01:59:11.100 に答える
0

私は自分の問題を解決することができました。

まず、virtualenv がオンの場合にのみ pip を許可するように bashrc を変更しました。

# pip should only run if there is a virtualenv currently activated
export PIP_REQUIRE_VIRTUALENV=true
# cache pip-installed packages to avoid re-downloading
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
syspip(){
   PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

次に、ユーザーがインストールしたバイナリが優先されるように、これを bash_profile に追加しました export PATH=/usr/local/bin:$PATH

于 2014-01-22T01:59:01.810 に答える