2013-10-07 8 views
6

virtualenvのデフォルト(サイトパッケージなし)を使いたい。グローバルサイトパッケージからいくつかのモジュールをvirtualenvで利用可能にする

しかし、一部のモジュールはvirtualenv(例えばgtk)にインストールするのが難しいです。 「難しい」とは、たくさんのCヘッダファイルをインストールしなければならず、たくさんのものをコンパイルする必要があるということです。

これらのパッケージをpipでインストールするのではなく、グローバルsite-packagesディレクトリからいくつかのモジュールを利用できるようにシンボリックリンクを作成することで、この問題を解決できることがわかりました。

これは正しい方向ですか?

pipまたはvirtualenvでシンボリックリンクを作成する方法はありますか?

アップデート私はvirtualenvの中のrpm/dpkgのを経由して、私のLinuxサーバにインストールされているpsycopg2、GTK、のpython-LDAPおよびその他のようないくつかのモジュールを望んでいた2013年に

シンボリックリンクやその他の回避策は、より簡単ではなく複雑にしました。私たちは、仮想環境にグローバル サイトのパッケージへのアクセスを与える

--system-のsite-packages(2017)は本日、このオプションを使用します。

+0

「virtualenvにインストールするのは難しいですか?シンボリックリンクはOKですが、プロセスの自動化の方法については、http://stackoverflow.com/a/3399920/1265154を参照してください。 – alko

+0

@alko質問していただきありがとうございます。私は質問を更新しました:多くのc-headerファイルが必要なので難しい/難しいですし、pip(gtkやmatplotlibなどのパッケージ)をインストールするとコンパイルする必要があります。 – guettli

答えて

0

私はそう、正しい方向です。

あなたの質問は私が扱ったものと同じように聞こえます:OpenCVをvirtualenvにインストールする。私の問題は、OpenCVがpip(Python Package Index)で利用できないということでした。私がやり遂げたのは、問題のモジュール用のシステム全体のPythonインストールを照会してから、.soをmy virtualenvにコピーすることでした。

私が使用した定型のMakefileを含む全体のプロセスは、ここに捕獲されていますhttps://stackoverflow.com/a/19213369/1510289

をあなたはSYM-リンクの代わりにコピーすることにより、同様の何かを行うことができます。私が作る、と私は必要な方法で、シンボリックリンクの依存関係を処理しないようにしてください使用しているため、私は、ライブラリをコピーしてしまった理由でした(上記のURLで説明したように。)

希望これは...

を支援
0

どのようにこれらの「ハード」パッケージを最初からコンパイルしていますか?その後.whlファイルの./distディレクトリを検索

python setup.py bdist_wheel 

:そう、とのことを交換する場合

python setup.py install 

: はあなたのような何かをやっています。次に、そのファイルが何であれ、それを取って(環境を起動した後に)

pip install `./dist/whateverTheFileIsCalled.whl` 
+0

私は質問を更新しました。 rpm/dpkgがvirtualenvにpythonライブラリをインストールしたかったのです。 – guettli

関連する問題