私はルートアクセス権を持たない大きなサーバでpythonを使う必要があります。私はマシン上にグローバルにインストールされているものより新しいバージョンのnumpyを使用したいと思います。 virtualenv
は、この目的のために正確に設計されており、私は自分の仮想環境を作成し、以下のコマンドでそれをアクティブにしますvirtualenvにグローバルライブラリよりローカルライブラリを優先させるにはどうすればいいですか
virtualenv my_personal_python
source my_personal_python/bin/activate
が、私はその後、私は
pip install numpy==1.6.0
を使用することに興味があるライブラリの新しいバージョンをインストールします
問題は、今はnumpyをインポートすると、仮想環境のmy_personal_python/lib/python2.6/site-packacges
ディレクトリにインストールされているものではなく、古いグローバルバージョンがインポートされることです。
のように私は、すでに--no-のsite-packagesフラグ一つの可能な解決策を承知しています:私は、このフラグを使用すると、私が望むよう、インポートの動作
virtualenv --no-site-packages my_personal_python
。しかし、私はローカルですべてのパッケージを再インストールしたくないので、このフラグを使用したくありません。
(私はのpython 2.6、virtualenvの1.6.1を使用していて、私のマシンでPYTHONPATH変数が設定されていない。)
更新私は仮想環境からのsite-packagesディレクトリを追加する場合でも、 Pythonのパスの先頭にあるnumpyは、この場所からインポートされません(他のパッケージはこの場所からインポートされます)。たぶん、この問題はnumpyに固有の問題であり、一般的なパッケージでは発生しません。
AFAIK、期待通りに動作するはずです。おそらく、そのコンピュータにおそらくインストールされている古いバージョンのvirtualenvのバグかもしれません... –
これが問題であるかどうかは分かりませんが、pipはアクティブ化された仮想環境を使用することを知っていますか? numpy 1.6.0がグローバルサイトパッケージにインストールされていることを確認してください。 – mklauber
pipは仮想環境の使い方を知っており、バージョン1.6.0を仮想環境のsite-packagesディレクトリに正しくインストールしました。 numpyのグローバルバージョンは1.4.0です。 – conradlee