Python “如何修复”;导入错误:DLL加载失败“;导入win32api时
我正在Python 3.8中设置一个自动单击程序,我需要用于GetAsyncKeyState的win32api,但它总是给我以下错误:Python “如何修复”;导入错误:DLL加载失败“;导入win32api时,python,python-3.x,winapi,pip,pywin32,Python,Python 3.x,Winapi,Pip,Pywin32,我正在Python 3.8中设置一个自动单击程序,我需要用于GetAsyncKeyState的win32api,但它总是给我以下错误: >>> import win32api Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: DLL load failed while importing win32api: The specified
>>> import win32api
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing win32api: The specified module could not be found.
它成功地安装了,但没有任何变化。我也尝试卸载和重新安装python。我也尝试过以同样的方式安装“django”,当我导入django时,它实际上可以工作,所以我认为这只是win32api的问题
>>> import win32api
我希望输出为无,但实际输出总是错误^^
pypiwin32
是一个过时的发行版。卸载它并安装pywin32
:
pip uninstall pypiwin32
pip install pywin32
pypiwin32
是一个过时的发行版。卸载它并安装pywin32
:
pip uninstall pypiwin32
pip install pywin32
对于我来说,安装并重新安装pywin32没有帮助。将这两个文件从
[Anaconda的安装目录]\Lib\site packages\pywin32\u system32
复制到C:\Windows\system32
后,它就可以工作了
我的环境是miniconda中的python 3.8。这两个文件是
pythoncom38.dll
和pywintypes38.dll
对于我的情况,安装和重新安装pywin32没有帮助。将这两个文件从[Anaconda的安装目录]\Lib\site packages\pywin32\u system32
复制到C:\Windows\system32
后,它就可以工作了
我的环境是miniconda中的python 3.8。这两个文件是
pythoncom38.dll
和pywintypes38.dll
runscripts\pywin32\u postinstall.py-在管理命令提示符下安装
参考:
编辑:User@JoyfulPanda发出警告:
使用管理员权限运行此脚本还会将pythoncom37.dll、pywintypes37.dll(对应于pywin32版本)复制到
C:\WINDOWS\system32
,从而有效地覆盖已有Anaconda的相应dll版本。这会在打开(Windows上)“开始菜单>蟒蛇3(64位)>蟒蛇提示(虚拟环境名称)”时导致问题。默认情况下,至少Anaconda 2019.07安装了pywin32 223。Pywin32 224可能有效,但225-228会给蟒蛇带来问题(2019.07)
在管理命令提示符下运行Scripts\pywin32\u postinstall.py-安装 参考: 编辑:User@JoyfulPanda发出警告:
使用管理员权限运行此脚本还会将pythoncom37.dll、pywintypes37.dll(对应于pywin32版本)复制到
C:\WINDOWS\system32
,从而有效地覆盖已有Anaconda的相应dll版本。这会在打开(Windows上)“开始菜单>蟒蛇3(64位)>蟒蛇提示(虚拟环境名称)”时导致问题。默认情况下,至少Anaconda 2019.07安装了pywin32 223。Pywin32 224可能有效,但225-228会给蟒蛇带来问题(2019.07)
在该评论问题的参考中 这个Lib\site packages\pywin32\u system32路径在哪里 转到C目录,用户,用户名,anaconda3,Lib,站点包,pywin32_system32。你很容易找到
C:\Users\HP\anaconda3\Lib\site packages\pywin32\u system32在本评论问题的参考中 这个Lib\site packages\pywin32\u system32路径在哪里 转到C目录,用户,用户名,anaconda3,Lib,站点包,pywin32_system32。你很容易找到
C:\Users\HP\anaconda3\Lib\site packages\pywin32\u system32对我来说,它将我的pywin32从227版降级到224版。只需在管理员模式下的任意shell上键入以下命令:
pip install --upgrade pywin32==224
对我来说,它的工作原理是将pywin32从227版降级到224版。只需在管理员模式下的任意shell上键入以下命令:
pip install --upgrade pywin32==224
当
Lib\site packages\pywin32\u system32
不在要搜索DLL(路径环境变量)的目录列表中时,会发生这种情况
pywin32(或其依赖项之一)在运行时将此路径添加到path变量。如果此操作失败,或者在pywin32设置路径后另一个组件正在重写该路径,您将收到给定的错误(ImportError:导入Win32 API时DLL加载失败)
在启动Python之前,可以尝试在shell中扩展PATH变量
在Windows上:
set PATH=c:\...\Lib\site-packages\pywin32_system32;%PATH%
在类Unix系统上:
export PATH=c:\...\Lib\site-packages\pywin32_system32:$PATH
如果这不起作用,那么该路径可能在运行时被Python程序覆盖。在pywin32用于验证其值之前,将以下行添加到程序中:
import os
print(os.environ["PATH"])
最后,您可以在加载pywin32之前扩展PATH变量:
窗口:
os.environ["PATH"] = r"c:\...\pywin32_system32;" + os.environ["PATH"]
类Unix:
os.environ["PATH"] = r"/.../pywin32_system32:" + os.environ["PATH"]
当
Lib\site packages\pywin32\u system32
不在要搜索DLL(路径环境变量)的目录列表中时,会发生这种情况
pywin32(或其依赖项之一)在运行时将此路径添加到path变量。如果此操作失败,或者在pywin32设置路径后另一个组件正在重写该路径,您将收到给定的错误(ImportError:导入Win32 API时DLL加载失败)
在启动Python之前,可以尝试在shell中扩展PATH变量
在Windows上:
set PATH=c:\...\Lib\site-packages\pywin32_system32;%PATH%
在类Unix系统上:
export PATH=c:\...\Lib\site-packages\pywin32_system32:$PATH
如果这不起作用,那么该路径可能在运行时被Python程序覆盖。在pywin32用于验证其值之前,将以下行添加到程序中:
import os
print(os.environ["PATH"])
最后,您可以在加载pywin32之前扩展PATH变量:
窗口:
os.environ["PATH"] = r"c:\...\pywin32_system32;" + os.environ["PATH"]
类Unix:
os.environ["PATH"] = r"/.../pywin32_system32:" + os.environ["PATH"]
根据pywin32 github,您必须运行
pip install pywin32
python path\to\python\Scripts\pywin32_postinstall.py -install
在那之后,你必须跑
pip install pywin32
python path\to\python\Scripts\pywin32_postinstall.py -install
摘自。为我工作 根据pywin32 github,您必须运行
pip install pywin32
python path\to\python\Scripts\pywin32_postinstall.py -install
在那之后,你必须跑
pip install pywin32
python path\to\python\Scripts\pywin32_postinstall.py -install
摘自。为我工作 当前目录中有两个pythoncom*.dll文件的副本。 Pycharm正在使用目录C:\Windows\System32中的副本:- C:\Windows\System32 C:\Users\sharandi\AppData\Local\Programs\Python38\Lib\site packages\pywin32\u system32 这些文件是:- pythoncom38.dll-