【问题标题】:Failing to create a .exe file with Python and PyQt5无法使用 Python 和 PyQt5 创建 .exe 文件
【发布时间】:2021-04-04 22:28:34
【问题描述】:

我正在尝试从名为 ProyectoNew.py 的 Python 脚本创建一个可执行文件。它适用于一个名为 "Imagenes" 的文件夹和另一个名为 "ModulosExternos" 的文件夹,以及一个 PyQT5 的 .ui 文件,如下所示:

这是发布在 GitHub 上的代码:https://github.com/TheFlosh/ProyectoSoftware.git

我尝试使用 PyinstallerPy2ExeCXFreeze,但没有成功。使用这些模块中的每一个创建一个 .exe 文件,当我尝试在另一台 PC 上执行它时,我得到了相同的结果,如下所示:

在图片的左边你可以看到我使用 pyinstaller(或 Py2Exe)后得到的结果,在右边你可以看到我需要展示的内容。

这是我在代码中使用的模块(“ModulosExternos”是我放置代码需要的一些特定模块的文件夹):

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import pyttsx3
from pyttsx3.drivers import sapi5   
import PyQt5                        
import sip                          
import os                          
from ModulosExternos import Boton_1,Boton_2,Boton_3,Boton_4,Boton_Final,Listas_Pictogramas, Frases_Completas

这是它的最后一部分,用于实例化 GUI:

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    GUI = ProyectoNew()
    GUI.show()
    sys.exit(app.exec()) 

我在互联网上阅读了很多建议创建 Setup.Py 文件以启动创建项目可执行文件的过程的帖子。以下是我对其中两个所做的一些示例:

使用 CX_Freeze:

import sys
import os
from cx_Freeze import setup, Executable

files = ['icono.ico','/Imagenes']

target = Executable(
    script = "/ProyectoNew.py",
    base = 'Win32GUI',
    )

#Setup 
setup(
    name = "Proyect2",
    version = "1.6",
    description = "Software",
    author = "----",
    options = {'build_exe': {'include_files' : files}},
    executables = [target]
    )

使用 Py2Exe:

from cx_Freeze import setup, Executable

setup(name = "Proyect2",
    version="1.0",
    description = "Software",
    executables = [Executable("ProyectoNew.py")],)

使用 Pyinstaller 我输入了:python --nowindowed --onefile ProyectoNew.py,但我不断得到与之前所示相同的结果。

我认为当我执行 Pyinstaller 时,.exe 文件不会加载我使用的模块和图像。创建文件时我缺少什么?我需要做什么才能在另一台 PC 上执行 .exe 文件?

我更喜欢使用 pyinstaller,但使用其中任何一种都会对我有所帮助。

【问题讨论】:

    标签: python pyqt5 pyinstaller cx-freeze py2exe


    【解决方案1】:

    这有什么问题?你得到某种错误?请编辑您的问题。

    使用 pyinstaller 和这个命令,你应该可以轻松构建一个可执行文件:

    pyinstaller [FILE].py -w -F
    

    此命令会生成一个 /dist 文件夹,其中包含要运行的必需文件和 .exe 文件

    *-w 参数用于不为标准 i/o 提供控制台窗口

    *-F 参数用于单文件捆绑可执行文件 您可以查看更多参数here

    PD:之前,你显然需要安装 pyinstaller:

    pip install pyinstaller
    

    【讨论】:

    • 您好!感谢您的回答。是的,我已经完全按照你写的方式进行了尝试,但是我得到了与我的帖子图片中显示的相同的“错误”。
    • @PabloFlores 好的,我明白了,我想我知道会发生什么。您需要将所需的图像和其他资产添加到构建中。阅读this
    • 你好。在问我的问题之前我读了这个,我做了那里所说的。我还观看了几个关于在规范文件中“添加数据”的视频和线程,但我仍然得到“黑色”图像。我也试过这个:youtube.com/watch?v=UZX5kH72Yx4&t=319s
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多