Qt平台插件'windows'py2ex

2024-10-05 14:24:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道有很多关于这个问题的帖子(我都读过了)。 但是我的exe还是有问题,仍然无法打开。在

我试过把qwindows.dll(我试过用3个不同的qwindows.dll)在文件夹dist中使用我的exe,但不会更改任何内容。在

我试过libEGL.dll,什么也没有。在

有什么建议吗?有没有办法避免这个问题?在


Tags: 文件夹内容distexe建议帖子dll办法
3条回答

尝试:

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并在所有计算机上运行。在

我也遇到过这个问题,经过大量挖掘,我找到了以下解决方案:

复制main.exe旁边的以下文件: libEGL.dll在

将以下文件复制到main.exe旁边的“platforms”文件夹中: qwindows.dll在

把qwindows.dll在子文件夹中是我认为很重要的部分,希望能有所帮助

对我来说,复制qwindows.dllplatforms文件夹就足够了,就像@Inktvisje写的那样。在

不要重复我的错误:不要从互联网上下载这个dll!从Python libs文件夹复制它:YourPythonFolder\Lib\site-packages\PyQt5\plugins\platforms。在

相关问题 更多 >