簡體   English   中英

只能導入帶有IDLE的win32com.client。 設置pywin32需要做哪些額外的工作?

[英]Can only import win32com.client with IDLE. What extra work do i need to set up pywin32?

我有一個用於時間管理的Tkinter程序。 我決定讓它掃描Outlook中的收件箱,以檢查電子郵件中是否有標簽,然后根據標簽將其添加到我當晚要做的任務列表中。

我編寫的代碼工作正常,但是導入win32com.client時出現錯誤。 我可以將其導入IDLE,但是當我嘗試使用.bat文件或雙擊.py文件運行代碼時,導入時遇到問題。

我發現有幾個人遇到類似的問題,但據我所知,它存在win32api模塊或pywin32問題

Traceback (most recent call last):
    File "my_program_filename.py", line 1, in <module>
import win32com.client
    File "c:/Python27/lib/site-packages/win32com/__init__.py", line 5, in <module>
import win32api, sys, os
ImportError:  DLL load failed: The specified module could not be found

我真的很困惑 當我得到sys.path時,它與從.py文件運行的IDLE相同,只是為我的.py文件添加了“ c:/ users / username / desktop / timer”。

我真的迷路了,不必弄亂系統路徑,但是我無法弄清楚該如何解決。

我需要做什么才能使pywin32正常工作,以便可以使用win32com.client?

任何幫助是極大的贊賞。 謝謝!

IIRC,問題是試圖鏈接到調試版本。 我認為我必須復制發行版本並將其重命名為調試或其他名稱。

嘗試構建發行版,看看它是否“有效”。 如果是這樣,您將有一個探索的方向

這是在sys.path中沒有正確路徑的問題。 如果確保所有pywin32文件夾都在sys.path中(如果簽入IDLE,則即使不包含這些文件夾,也可以顯示其中是否包含這些文件夾?!?!?)。

您還必須確保從Python目錄中運行代碼,否則它將無法導入win32api。 我還發現,如果您在使用pywin32的函數中執行任何操作,並且在調用函數時不小心弄錯了該函數,則整個導入都會失敗,而不會告訴您該函數的拼寫是錯誤的。 您還可以導航到/ Python27 / Lib / site-packages / win32com / client文件夾,然后運行makepy.py以確保安裝了正確的對象庫。

運行makepy.py時,選擇要使用的COM對象,它會創建特定於您要使用的軟件包。 我不完全理解為什么會這樣,但是一旦執行完並從Python文件夾運行我的文件,它就會起作用! 有關於如何得到這個工作的權利有更深入的解釋這里

我發現此鏈接是解決方案,而不是如上所述的win32com / client: win32com導入錯誤python 3.4

在我的情況下輸入cmd: python C:\\Python27\\Scripts\\pywin32_postinstall.py -install

結果在命令行

我希望這有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM