web-dev-qa-db-ja.com

virtualenvにwin32comモジュールをインストールする方法は?

Windows 7 64ビットラップトップにvirtualenvpywin32の両方をインストールしましたが、それぞれが動作しているようですが、相互には動作していません。

より具体的には、virtualenvがアクティブな場合、pythonインタラクティブシェルでimport win32com.clientを実行するとNo module named win32com.clientで失敗します。ただし、virtualenvがアクティブでない場合、同じ式は成功します。

pywin32pipとともにインストールしようとすると(virtualenvがアクティブなときに通常モジュールをインストールする方法です)、エラーが発生します。

  Could not find any donwloads that satisfy the requirement pywin32
No distributions at all found for pywin32

... pywin32は、次の出力にリストされているモジュールの1つですが

pip search pywin32

そのため、pywin32をインストールするには、すべて SourceForgeからダウンロードした* .exeインストーラーを使用してインストールする必要がありました。

Virtualenv内にpywin32をインストールする方法はありますか?

16
kjo

2016年更新

現在、PipでインストールできるPyPI上のpywin32のバージョンがあります。という pypiwin32、バイナリwheel形式を使用してパッケージをインストールします。

https://pypi.python.org/pypi/pypiwin32

pip install pypiwin32

これは、virtualenvまたはtoxなどで機能します。


この行の下に、以前の古い回答があります。それは今や時代遅れの情報です。

古い回答-古い。 virtualenvの最新バージョンは、デフォルトで--no-site-packagesになります。これは、グローバルサイトパッケージにアクセスできないことがデフォルトの動作になったことを意味します。悲しいことに(2014年7月現在)、pywin32をvirtualenvにpipインストールできません。 ( バグレポートはこちら )virtualenv内でpywin32を実行したい場合は、virtualenvをアクティブにし、easy_installおよびpywin32インストーラーexeファイルを使用します。たとえば、easy_install "C:\ Path\To\Downloads\pywin32-219.win32-py3.4.exe"

関連する質問

34
Christian Long

これを試して:

  1. 直接ダウンロード
  2. Virtualenvを有効にします
  3. pip install --no-index --find-links:/local/dir/ SomePackage

pip-installer.org (申し訳ありませんがパーマリンク)/の#8をご覧ください

6
chirinosky

Virtualenvを作成してアクティブにします:cd c:\Users\ernesto.luzon virtualenv --no-site-packages py351env py351env\Scripts\activate

ここから、2つのオプションがあります。

  1. Sourceforgeプロジェクトからpywin32をダウンロードします: http://sourceforge.net/projects/pywin32/files/pywin32/

  2. 非公式の(しかし非常に役立つ)バイナリサイトからpywin32をダウンロードします: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32

環境にインストールされているPythonインタープリターの正しいバージョンをダウンロードしていることを確認してください。そうしないと、 ImportError:DLL load failed:%1 is not valid Win32 application 後で。

Sourceforgeからダウンロードした場合は、easy_installを使用してインストールします。(py351env) C:\Users\ernesto.luzon\Downloads>easy_install pywin32-220.win-AMD64-py3.5.exe

Gohlkeからダウンロードした場合は、pipを使用してインストールします。(py351env) C:\Users\ernesto.luzon\Downloads>pip install pywin32-220-cp35-none-win_AMD64.whl

ImportError:DLL load failed:指定されたモジュールが見つかりませんでした エラーが発生した場合、次の追加手順が必要です。

ポストインストールスクリプトを実行します。(py351env) C:\Users\ernesto.luzon>python py351env\Scripts\pywin32_postinstall.py -install Copied pythoncom35.dll to C:\Users\ernesto.luzon\py351env\pythoncom35.dll Copied pywintypes35.dll to C:\Users\ernesto.luzon\py351env\pywintypes35.dll ....

「pythoncom35.dll」および「pywintypes35.dll」ファイルのコピー先に注意してください。これらのファイルをフォルダーに移動する必要があります:C:\Users\ernesto.luzon\py351env\Lib\site-packages\win32

2
ldiary