Windows 7 64ビットラップトップにvirtualenv
とpywin32
の両方をインストールしましたが、それぞれが動作しているようですが、相互には動作していません。
より具体的には、virtualenvがアクティブな場合、pythonインタラクティブシェルでimport win32com.client
を実行するとNo module named win32com.client
で失敗します。ただし、virtualenvがアクティブでない場合、同じ式は成功します。
pywin32
をpip
とともにインストールしようとすると(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
をインストールする方法はありますか?
現在、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"
これを試して:
pip install --no-index --find-links:/local/dir/ SomePackage
pip-installer.org (申し訳ありませんがパーマリンク)/の#8をご覧ください
Virtualenvを作成してアクティブにします:cd c:\Users\ernesto.luzon virtualenv --no-site-packages py351env py351env\Scripts\activate
ここから、2つのオプションがあります。
Sourceforgeプロジェクトからpywin32をダウンロードします: http://sourceforge.net/projects/pywin32/files/pywin32/
非公式の(しかし非常に役立つ)バイナリサイトから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