web-dev-qa-db-ja.com

Python 3.4:ImportError:win32apiというモジュールはありません

私はWindows 7でpython 3.4を使用しています。ドキュメントファイルを開くには、このコードを使用しています

import sys
import win32com.client as win32

Word = win32.Dispatch("Word.Application")
Word.Visible = 0
Word.Documents.Open("MyDocument")
doc = Word.ActiveDocument

このエラーが毎回ポップアップするのはなぜかわからない

ImportError:win32apiというモジュールはありません

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32 からpywin32をインストールしましたが、インポートする場所からのパスもチェックしました... pywin32も再インストールしますが、エラーは削除されません.....

任意の提案....助けてください

ありがとう

14
Maxxie

ここからpywin32をインストールしてみてください:

http://sourceforge.net/projects/pywin32/files/pywin32/

オペレーティングシステムと、使用しているpythonバージョンに依存します。通常、32ビットバージョンは32ビットOSと64ビットOSの両方で動作します。

17
Nima Soroush

これはライブラリ自体のバグです。おそらく、これを作成するために異なるpython実装を使用しました。

インポートしようとしているのはsite-packages\win32\win32api.pydファイルですが、win32フォルダーは、python検索するパスですが、site-packagesはあります。

import win32api(win32com\__ init__.py内)からfrom win32 import win32api

15
TulkinRB

昨日、Windows 7でPython 3.6.1で同じエラーが発生し、「pip install pypiwin32」で解決しました。

10
flyisland

Win32com.clientをインポートしようとして同じエラーが発生しました(Python 2.7、64ビット)を使用します。 TulkinRB に同意しますが、パスの問題があるようですが、 win32をインポートすることもできなかったため、提案された修正は機能しませんでした。

おそらく私の修正はPython 3.4。

最終的に、管理者として SourceForge から.exeをインストールすると( Rina Rivera の答え ここ で示唆されているように)win32com.clientをインポートできましたIDLEからですが、notは、元々実行しようとしていたスクリプトを実行したときに。

最終的に、管理者としてインストールしてIDLEを開いたときに拡張されたsys.pathの3つの違いを発見しましたが、スクリプトの実行時には適用されませんでした。スクリプトでsys.pathを拡張することで、実行時にインポートエラーを取り除くことができました。

import sys
sys.path.extend(('C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin'))

最後に、一時的な修正以上のものが必要な場合は、IDLESTARTUP変数またはPYTHONSTARTUP変数を設定してsys.pathを永続的に拡張できます( here および here で説明)。

2
hanaQokus

init.pyファイルをwin32フォルダー内に作成してから、win32comフォルダー内に移動し、__ init。pyファイルを変更して、win32apiをインポートし、win32apiからwin32apiに変更できます。

最終的にデバッグを行い、必要なファイルを適切なフォルダーにコピーして貼り付けました。バグが修正されるまでは回避策ですが、動作します。

0
Bennybear