[英]Qt platform plugin 'windows' - py2exe
我知道有很多关于这个问题的文章(我已经看过了)。 但是我的exe仍然有问题,仍然无法打开。
我试图用我的exe将qwindows.dll
(我尝试使用3个不同的qwindows.dll)放在dist
文件夹中,但没有任何改变。
我试过libEGL.dll
,什么也没有。
有什么建议么 ? 有办法避免出现此问题吗?
我也遇到了这个问题,经过大量的挖掘,我发现了以下解决方案:
将以下文件复制到主.exe旁边:libEGL.dll
将以下文件复制到主.exe旁边的文件夹“平台”中:qwindows.dll
我认为将qwindows.dll放在子文件夹中是重要的部分,希望对您有所帮助
尝试:
from setuptools import setup
import platform
from glob import glob
from main import __version__, __appname__, __author__, __author_email__
SETUP_DICT = {
'name': __appname__,
'version': __version__,
'description': 'description',
'author': __author__,
'author_email': __author_email__,
'data_files': (
('', glob(r'C:\Windows\SYSTEM32\msvcp100.dll')),
('', glob(r'C:\Windows\SYSTEM32\msvcr100.dll')),
('platforms', glob(r'C:\Python34\Lib\site-packages\PyQt5\plugins\platforms\qwindows.dll')),
('images', ['images\logo.png']),
('images', ['images\shannon.png']),
),
'options': {
'py2exe': {
'bundle_files': 1,
'includes': ['sip', 'PyQt5.QtCore'],
},
}
}
if platform.system() == 'Windows':
import py2exe
SETUP_DICT['windows'] = [{
'script': 'main.py',
'icon_resources': [(0, r'images\logo.ico')]
}]
SETUP_DICT['zipfile'] = None
setup(**SETUP_DICT)
手动复制依赖项是一种不好的方法,因为py2exe会处理它。 使用pyqt5时,此设置有效,但是,如果我在没有pyqt的其他计算机上尝试安装exe,则崩溃。 我迁移到pyqt4并在所有计算机上运行。
对我来说,将qwindows.dll
复制到platforms
文件夹就足够了,就像@Inktvisje写道。
并且不要重复我的错误:不要从Internet下载此dll
! 从Python libs文件夹复制它: YourPythonFolder\\Lib\\site-packages\\PyQt5\\plugins\\platforms
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.