问题
I have installed PyQt5 on windows platform and and getting an importError: DLL load failed.
I have installed pyqt5 using the command
pip3 install pyqt5
Successfully installed pyqt5-5.8.1
My Python version is as follows:
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
The import Error is as follows:
from PyQt5.QtWidgets import QApplication
Traceback (most recent call last):
File \"<stdin>\", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
Thanks & Regards
回答1:
It is because of missing Python3.dll
(stub dll, that re-exports Python3x.dll
functions, so that one version of extension can work for multiple versions of python).
If your Python distro doesn't bundle python3.dll, you can try one from WinPython (https://winpython.github.io/).
At least the 2017/04/01 versions should have it.
1) Download WinPython ('Zero' version suffices; must be same "main version" - 3.5/3.6 -and "bitness" - 32/64 - as your Python !!!).
2) Extract to some temp directory, take the python3.dll and stick it into your python dir, next to the python3x.dll.
3) Enjoy working QT
回答2:
I know the topic is old but I have also had this problem with the newest version of PyQT 5.11 but I've downgraded it to 5.9 via:
pip install PyQT5==5.9
and it has solved the issue.
回答3:
If you created a virtualenv, check if python3.dll
was copied into the Scripts
directory of that virtualenv. Chances are only python35.dll
(or python36.dll
, etc., depending on the Python version) was copied, in which case you would get the error you're getting.
回答4:
I found an alternative fix.
I was using a virtualenv because PyCharm had made one for me and I didn't know better. I had installed PyQt5 in that virtualenv.
I switched to using no virtualenv, and installed PyQt5 in the global Python dir. That fixed it.
回答5:
In my case, I had Windows 10 32-bits and Python 3.7.2. Using PyQt5 5.11 installed via pip I got this error:
from PyQt5.QtWidgets import QApplication
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
I noticed that version 5.11 came without Qt DLLs, so I reinstalled an earler version with
python -m pip uninstall PyQt5
and python -m pip install PyQt5==5.10
Never use --no-cache-dir since it will produce an assert error when installing the whl file:
assert building_is_possible
assertion Error
I ended up installing 5.10 and had the following error:
qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
After setting QT_DEBUG_PLUGINS and even plugin path with:
set QT_DEBUG_PLUGINS=
set QT_PLUGIN_PATH=C:\Python37-32\Lib\site-packages\PyQt5\Qt\plugins
I realised that the dll qwindows.dll was searched in the right path where it resides.
TL;DR: I re-ran my python Qt script with UAC elevation, and guess what, it worked !
回答6:
This can also happen when you have a version of Anaconda installed which comes with PyQt5 and you overshadow that package with a pip installed version. Uninstalling the pip installed version corrected the problem for me.
回答7:
Solution
- Close all programs & compilers
- Open Anaconda Navigator Make sure you have installed pyqt and qtpy modules (qtawesome optional)
- From Anaconda Navigator Home and launch VS code, Jupyter your favored editor
- Run your program!-
this is not a permanent fix but it worked for me hope it works for you too @Miloslav Raus answer didn't work for me
回答8:
In Windows 10 using Python 3.6 I fixed this error going through the following steps:
1) Install PyQt5 with pip install pyqt5
2) As explained in this Microsoft website, I modified my Visual Studio 2017 Community installation enabling "Python native development tools"
3) Copy python3.dll
from C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64
to C:\IntelPython3\Lib\site-packages\PyQt5
(check your directory)
回答9:
You can try downloading 64bit Python Installer (Windows x86-64 executable installer) from here. I am using PyQt5==5.10.1
. Solve my problem.
回答10:
The answer is quite simple sometimes. Went through a lot of headaches because the application was running smoothly before restarting my computer. However, I just said to myself, maybe windows just can't load the DLL module? So I restarted my computer again and ran again.
Worked perfectly. Hope, it helped someone.
回答11:
I tried all the solutions here and some of ones elsewhere, however any of them did not work for me. Solution that worked for me is to install a newer Python version.
来源:https://stackoverflow.com/questions/42863505/dll-load-failed-when-importing-pyqt5