/usr/share/pyshared/
/usr/lib/pythonX.Y/dist-packages/
または(たとえばpython-numpy
)にいくつかのPythonパッケージがある場合は、python-scipy
パッケージをvirtualenvに追加する方法は?
virtualenvにパッケージを追加するときは、setpy.py
「一般的な」Pythonのインストール方法などを使用してインストールする必要がありますか、それとも独自のインストール方法がありますか?
基本的に、複雑なC拡張(numpy
などscipy
)を含むPythonパッケージをvirtualenvに簡単に追加できるようにしたいです。pyQt/pyside
pygtk
答え1
指摘したように、一般的にホイールを作るのが最善です。特に定期的に再インストールする場合はさらにそうです。
これはPython用のgtkバインディングでは機能しません。コードをテストする方法が必要ですtox
(--no-site-packagesを使用してvirtualenvを構築します)。テスト目的では、関連するシステムインストールバージョンに接続するだけで十分ですが、site-packages
/のすべてのものをリンクするわけではありませんdist-packages
。
そのためにインストール可能なパッケージ(ruamel.venvgtk
)、Debianベースのシステム(Ubuntu、Linux Mint)でPython2.7とPython3.4への正しいリンクを設定します。プログラムの設定中にこれを行うため、プログラムの変更は不要です。ファイルtox.ini
の一部はdeps
次のとおりです。
deps =
pytest
ruamel.venvgtk
生成されたすべてのvirtualenvに対して関連リンクがインストールされ、pip
生成されますruamel.venvgtk
。
答え2
はい、virtualenvが有効になっている場合は、「一般的な」Pythonインストール方法( distutils )を使用するか、python setup.py install
virtualenv認識ツール(例pip install package
:。
インストールするパッケージのバージョンは、virtualenvのアクティブパッケージのバージョンになります。virtualenv MY_ENV
virtualenvを使用するか作成するかは重要ではありませんvirtualenv --no-site-packages MY_ENV
。最初のケースでは、システムPythonにインストールされているすべてのパッケージはvirtualenvで使用できますが、virtualenvが有効になっている間にvirtualenvにインストールされているすべてのパッケージはシステムPythonのバージョンをブロックします。 2番目のケースでは、標準ライブラリパッケージと、ここにインストールされているすべてのエントリのみを含むvirtualenvに分離されたPython環境があります。
NumpyやScipyなどのパッケージはLinuxで事前にビルドされたバイナリを提供しないため、パッケージマネージャが提供するバージョンを使用したくない場合は、簡単にビルドする必要があります。
答え3
この質問は、1年以上(2014年3月基準)の活動がなく、誰も回答をしてくれなかったので、どのように解決したかを見てみましょう。
ソースのインストール方法がvirtualenvs(numpy / scipy、pyside)に準拠したパッケージの場合は、ホイールを使用して各venvで再構築されるのを防ぎます。
GTKをサポートしていないパッケージの場合は、Pythonに接続する方法によって異なります。