ホスト環境の site-packages フォルダーを含めずに、virtualenv で pywin32 を使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1830304

質問

私は一緒に働いています Pyインストーラー Python 2.6 では、MS がマニフェストのナンセンスで作成した混乱のため、部分的にのみサポートされていますが、現在 MSVC8 でコンパイルされているため、Python に影響を及ぼします。

問題は、マニフェストの埋め込みサポートが pywin32 ビルドするために拡張機能を追加する必要がありますが、作成時にホストのサイトパッケージフォルダーを含めないため、面倒です。 仮想環境 (ビルド環境の要点を少し破っています) PyInstaller にアクセスできるように、必要な拡張機能をインストールする方法が見つかりません。

この問題の解決策を見つけた人はいますか?

役に立ちましたか?

解決 3

私が進むべき道を見つけなければならなかったので、

OK、よく私は即興。私は、内部標準setup.pyスクリプトを使用してvirtualenvの中にインストールされますpywin32のハッキング、一緒にバージョンとのgitリポジトリを作成しました。それは正しく動作させるためにいじるの多くを取ったが、私はそれをロードするために得ることができたと私はそれがする必要があるように依存するコードが機能するようになりました。人々は、これがコミュニティに有益であろうと感じた場合はコメントを投稿してください。私は十分に得る場合、私は試してみて、私のgithubのアカウントに何かを入れます。

他のヒント

見つけました http://old.nabble.com/Windows:-virtualenv-and-pywin32--td27658201.html (現在はリンクが切れています)次の解決策を提供しました。

  1. ブラウズ http://sourceforge.net/projects/pywin32/files/ 必要なexeのURL
  2. virtualenv をアクティブ化する
  3. 走る easy_install http://PATH.TO/EXE/DOWNLOAD

これは、setuptools の最新バージョンで動作します (2014 年 2 月頃、コメントで tovmeod によって報告されました)。


古いバージョンの setuptools を使用している場合 (または、setuptools にマージして再配布した場合)、次のエラー メッセージが表示される場合があります。

エラー:c:\users\blah\appdata\local emp\easy_install-ibkzv7\pywin32-214.win32-py2.6.exe は有効な distutils Windows .exe ではありません

その場合:

  1. 自分でexeをダウンロードしてください
  2. virtualenv をアクティブ化する
  3. 走る easy_install DOWNLOADED_FILE.exe

私はできれば「easy_install」ではなく「pip install」を試してみましたが、これは機能しませんでしたし、おそらく今後も機能しないでしょう(要出典)。


最後に、解決策を見つけましたが、まだテストしていません http://www.mail-archive.com/python-list@python.org/msg272040.html それは:

Pywin32.pthファイルをVirtualenvサイトパッケージにコピーし、パスを指すようにファイルを編集することにより、これを解決しました。

他のオプションがうまくいかない場合は、おそらくこれでうまくいくでしょうか?

はPython 2.7または3.xを使用するための pypiwin32 の。

pip install pypiwin32

特定の「ハック」を行わずに、いくつかのマシンのサンドボックスに pywin32 を正常にインストールしたため、これは前の回答から改善されている可能性があります。

$ virtualenv sandbox
$ sandbox\scripts\activate
(sandbox) $ git clone https://github.com/Travis-Sun/pywin32.git
(sandbox) $ cd pywin32
(sandbox) $ python setup.py install

以下の環境でテスト済み:

編集:とりあえずこれをスクラッチしてください。まだインストールに問題があるようです...

私は全体の状況にかなりうんざりし、変換されたホイールのセット (「wheel Convert <.exe>」) を作成しました。最新のビルドに合わせて維持できるように努めますが、何か問題がある場合はお知らせください。

https://tr00st.co.uk/python/wheel/pywin32/

インストールは、pip を使用し、バージョンとアーキテクチャに一致するパッケージを指定することで簡単に行うことができます。たとえば、Python 3.5/amd64 の場合:

ピップインストール https://tr00st.co.uk/python/wheel/pywin32/pywin32-219-cp35-none-win_amd64.whl

警告:--upgrade プロセスは、アンインストール手順自体の後にクリーンアップできないため、現在失敗しています (win32api.pyd のクリーンアップ時にアクセスが拒否されました)。これは一時ディレクトリを削除するときのみであり、手動で削除できます。これを回避する最も簡単な方法は、アップグレードせずにアンインストールして再インストールし、一時フォルダーを手動で削除することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top