web-dev-qa-db-ja.com

グローバルにインストールされたパッケージをvirtualenvフォルダーにインポートする方法

だから、私のpythonプロジェクトのvenvと呼ばれるvirtualenvフォルダーがあります。

走れる:

venv/bin/pip install -r requirements.txt

これにより、プロジェクトに必要なすべての要件(M2Cryptoを除く)がインストールされます。インストールする唯一の方法は、apt-getを使用することです。

apt-get install python-m2crypto

次に、aptからインストールしたこのパッケージをvenvフォルダーに追加するにはどうすればよいですか?

30
Richard Knop

結局私がしたこと:

cp -R /usr/lib/python2.7/dist-packages/M2Crypto /home/richard/hello-project/venv/lib/python2.7/site-packages/
cp -R /usr/lib/python2.7/dist-packages/OpenSSL /home/richard/hello-project/venv/lib/python2.7/site-packages/
24
Richard Knop
--system-site-packages

仮想環境へのグローバルサイトパッケージモジュールへのアクセスを提供します。

あなたができる:

$ Sudo apt-get install python-m2crypto
$ virtualenv env --system-site-packages

...そして、virtualenv内でm2crypto(システム全体にインストールされている他のすべてのパッケージとともに)にアクセスできます。

42
Corey Goldberg

toggleglobalsitepackagesは、システム全体へのアクセスを切り替えますsite-packages

注:pip install virtualenvwrapper このコマンドを取得するには;バニラvirtualenvには含まれていません。 virtualenvwrapperを使用すると、非常に便利なmkvirtualenvおよびrmvirtualenvコマンドなども取得できます。

11
Will
venv/bin/pip install -I M2Crypto

-Iは、すでにグローバルにインストールされている場合でも、virtualenvに強制的にインストールします。

3
Amber

最もシンプルなソリューション。仮想環境ディレクトリで、ファイルpyvenv.cfgを編集し、パラメーターinclude-system-site-packages = trueを設定して、ファイルを保存します。グローバルにインストールされたモジュールは、次回環境をアクティブ化(ソース/ビン/アクティブ化)したときに表示されます。 「pip list」で確認できます

楽しい。

3
roshnet