簡體   English   中英

在 Python 2.6 中導入 win32api 錯誤

[英]import win32api error in Python 2.6

在 Windows 操作系統(64 位)下運行 python26 時......我遇到了如下錯誤:

import win32api" error in Python 2.6: pywintypes26.dll

或者

pythoncom26.dll missing
ImportError: DLL load failed: The specified module could not be found.

我已經為 python26 完成了 msi 安裝,所有 dll 都可以在 C:\Python26\Lib\site-packages\pywin32_system32 下找到

在我將 pywintypes26.dll 和 pythoncom26.dll 從C:\Python26\Lib\site-packages\pywin32_system32C:\Python26\Lib\site-packages\win32之后 -> 解決問題!

我在導入 win32api 時也遇到了問題。

pywin32 的安裝后腳本失敗,它應該復制pythoncom26.dllpythoncomloader26.dllpywintypes26.dll等。 我手動運行它,我的安裝已修復。

python scripts\pywin32_postinstall.py -install

在 64 位 Python 3.4.2 下安裝時,我遇到了類似的問題。 我從http://www.lfd.uci.edu/~gohlke/pythonlibs/運行了安裝可執行文件 pywin32‑219.win‑amd64‑py3.4.exe。

在網站上明確指出:

“Python 3.4 用戶必須從提升的命令提示符處手動運行python.exe Scripts\pywin32_postinstall.py -install 。”

我第一次沒有這樣做; 我從正常提示安裝得到以下反饋:

c:\python34>python.exe Scripts\pywin32_postinstall.py -install
Copied pythoncom34.dll to C:\Python34\pythoncom34.dll
Copied pywintypes34.dll to C:\Python34\pywintypes34.dll
You do not have the permissions to install COM objects.
The sample COM objects were not registered.
etc.etc.
Finishing with "The pywin32 extensions were succesfully installed" ... 

我只看了最后一句話,我開始運行一些代碼,導致這些 dll 加載失敗。

所以,做了一些研究,並開始了一個提升的提示(如何:參見“ http://www.sevenforums.com/tutorials/783-elevated-command-prompt.html ”)並再次運行:

c:\python34>python.exe Scripts\pywin32_postinstall.py -install
Copied pythoncom34.dll to C:\Windows\system32\pythoncom34.dll
Copied pywintypes34.dll to C:\Windows\system32\pywintypes34.dll
Registered: Python.Interpreter
Registered: Python.Dictionary
Registered: Python
-> Software\Python\PythonCore\3.4\Help[None]=None
-> Software\Python\PythonCore\3.4\Help\Pythonwin Reference[None]='C:\\Python34\\Lib\\site-packages\\PyWin32.chm'
Pythonwin has been registered in context menu
Shortcut for Pythonwin created
Shortcut to documentation created
The pywin32 extensions were successfully installed.

現在我的代碼運行愉快(就這件事而言......嘆息,還有很多其他事情要做)。

以管理員身份運行安裝程序,它可以工作:

  • 右鍵單擊 pywin32-installer.exe
  • 選擇“以管理員身份運行”

如上所述,安裝后腳本未運行,從輪子安裝時可以看到此問題(正如我遇到的那樣)

python scripts\pywin32_postinstall.py -install

如果在通過輪子安裝時發現您有這個問題,那么從這里安裝它可以解決上述問題。

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

安裝程序中似乎存在錯誤 票證中推薦的解決方法與 Dave Bremer 提出的解決方法相同。

我可以通過刪除所有已安裝的 Python3.4 版本(在安裝 3.4.2 之前忘記卸載 3.4.1)、刪除 C:\Python34 並在安裝 Python 3.4.2 pywin32-219.win32-py34.exe 之后解決這種情況安裝和調用沒有問題。 因此,不需要復制 DLL!

如果上述方法沒有解決問題,您仍然缺少msvcr100.dll文件。 它在您的\System32\文件夾中,或者更有可能在您的c:\PythonXX\Lib\site-packages\win32\文件夾中。

經過數小時的搜索無濟於事后,這為我修復了它,即使看起來導入仍然沒有按應有的方式解決(PyCharm 仍然給我彎曲的下划線),但它可以工作。

我不知道現在回答這個問題是否為時已晚。 我也遇到了這個問題,我嘗試了上面的每一種方法,但它們都沒有奏效。
最后,我找到了原因。 我們在安裝pywin32時,一定要選擇適合python版本(2.6,2.7,3.3等)和python位數(x64或x86)的那個。 注意,它必須適合 python 的位數,而不是 PC 的位數。 如果在 x64 PC 上安裝 x86 python,則必須安裝 x86 的 pywin32。

首先,我使用 pip 在 anaconda 環境中安裝 pywin32,這就是為什么無論我做什么都失敗了。 經過反復試驗,我發現conda install pywin32是在 anaconda 包管理器中安裝 pywin32 的正確方法。

我總是安裝 Active State Python 發行版,它會為您安裝 win32 軟件包並正確安裝。

在我的情況下,我必須將 pywintypes26.dll 和 pythoncom26.dll 文件復制到C:\Windows\System32文件夾中才能在 jupyter notebook 中正常工作。

我正在使用具有多個 python 版本的 Windows 10 操作系統

暫無
暫無

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

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