DLL load failed when importing PyQt5

馋奶兔 提交于 2019-11-26 06:39:27

问题


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

  1. Close all programs & compilers
  2. Open Anaconda Navigator Make sure you have installed pyqt and qtpy modules (qtawesome optional)
  3. From Anaconda Navigator Home and launch VS code, Jupyter your favored editor
  4. 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!