これを処理する方法はいくつかあります。
オプション 0
virtualenv 内からグローバル サイト パッケージへのアクセスを許可します。仮想環境の作成時に--system-site-packages
オプションを渡します。virtualenv
または、toggleglobalsitepackages
コマンド ( virtualenvwrapperから) を使用して、グローバル サイト パッケージへのアクセスを許可します。
(test1)$ toggleglobalsitepackages
Enabled global site-packages
(test1)$ python -c "import pysvn; print 'ok'"
ok
(test1)$ toggleglobalsitepackages
Disabled global site-packages
(test1)$ python -c "import pysvn; print 'ok'"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named pysvn
オプション1
easy_install を使用して、バイナリ インストーラーを使用してパッケージを virtualenv にインストールします。たとえば、Windows では、プロセスは次のようになります。
- バイナリ インストーラー ファイルをダウンロードします。この例では、example_installer.msi (または example_installer.exe) とします。
- virtualenv を有効にします (私はWindowsで virtualenvwrapper-winを使用しています)
easy_install example_installer.msi
インストーラーをダブルクリックして GUI モードで実行し (その後、Windows の [プログラムの追加と削除] コントロール パネルを使用してアンインストールします)、サイト全体にインストーラーをインストールできることを確認します。サイト全体にインストールできる場合、easy_install はおそらく virtualenv にインストールできます。
ただし、pysvn バイナリ インストーラーは、easy_install 用に適切に構成されていません。Windows pysvn バイナリ インストーラーでこれを試みると、次のエラーが発生します。
error: py27-pysvn-svn185-1.7.9-1572.exe is not a valid distutils Windows .exe
オプション 2
virtualenvwrapperのadd2virtualenv
コマンドを使用します。これにより、virtualenv の site-packages ディレクトリに .pth ファイルが追加され、virtualenv が指定されたディレクトリにアクセスできるようになります。
特定のパッケージではなく、親ディレクトリを指定する必要があることに注意してください。つまり、代わりに
add2virtualenv /usr/lib/python2.7/dist-packages/pysvn
そのはず
add2virtualenv /usr/lib/python2.7/dist-packages
この質問を参照してください: add2virtualenv (virtualenv ラッパー) は scipy では機能しません
パッケージがインストールされているディレクトリを見つけるには、次のようにします。
$ python
>>> import pysvn
>>> pysvn.__file__
'/usr/lib/python2.7/dist-packages/pysvn/__init__.pyc'
問題は、これには pysvn だけでなく、指定されたディレクトリ内のすべてのパッケージが含まれることです。したがって、 と同じ欠点がありtoggleglobalsitepackages
ます。
オプション 3
インストール ディレクトリを virtualenv のサイト パッケージにシンボリック リンクします。
virtualenv の site-packages ディレクトリにアクセスする便利な方法は、virtualenvwrapper の cdsitepackages
コマンドを使用することです。
cdsitepackages
ln -s /usr/lib/python2.7/dist-packages/pysvn pysvn
概要
Windows では、オプション 1 (バイナリ インストーラーからの easy_install) を試してください。それが失敗した場合は、グローバルにインストールし、virtualenvwrapper-win の toggleglobalsitepackages
コマンドを使用するか、 virtualenv に--system-site-packages
オプションを渡して、virtualenv がそれにアクセスできるようにします。
Linux や OS X など、シンボリック リンクをサポートするシステムでは、オプション 3 を使用します。これにより、グローバル サイト パッケージ全体へのアクセスを許可することなく、必要な特定のパッケージにアクセスできます。