当前位置: 首页 > 知识库问答 >
问题:

如何将多个python文件编译成单个文件。使用pyinstaller的exe文件

汪庆
2023-03-14

我已经用python创建了一个GUI(使用Tkinter),在使用os的GUI中单击一个按钮就可以运行python文件。系统('python_file.py')。我想把所有这些python文件打包成单个文件。通过将Tkinter文件保留为主文件,使用pyinstaller创建exe文件。

我创造了这个世界。通过在命令行中执行以下操作来创建exe文件:

pyinstaller--debug--onefile--noupx-tkinter_应用程序。派克

目前是我的。等级库文件如下所示:

# -*- mode: python -*-

block_cipher = None

a = Analysis(['tkinter_app.py'],pathex=['C:\\test'],binaries=[],datas=[],
hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[], win_no_prefer_redirects=False,
win_private_assemblies=False, cipher=block_cipher)

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name='tkinter_app', debug=True, strip=False, upx=False,console=True )

我不知道如何将其他python文件包含在上面的代码中。规范文件,以便整个应用程序工作。有人能帮忙吗?

共有3个答案

归泽宇
2023-03-14

>

  • 未完全验证,可能对您的参考有用。

    背景:我曾多次在Win和Mac中使用PyInstaller。

    回答你的问题:

    • pyInster--onefiletkinter_app.pypython_file.py

    额外说明:如果main。pyimportsome\u other。py(和/或其他一些lib,例如上面提到的numpypandas,等等…,然后PyInstaller可以自动识别它,不需要添加--onefile和其他py文件,只需要

    • pyinstaller main。py

  • 孙恩
    2023-03-14

    最好的方法是使用数组数据

    例如:

    a = Analysis(['.\\main.py'],
                 pathex=['.'],
                 binaries=None,
                 datas=[ ('.\\Ressources\\i18n', 'i18n'),
                 ('.\\Ressources\\file1.py', '.')],
                 hiddenimports=[],
                 hookspath=[],
                 runtime_hooks=[],
                 excludes=[],
                 win_no_prefer_redirects=False,
                 win_private_assemblies=False,
                 cipher=block_cipher)
    

    注意:确保把它放在正确的相对路径,这样你的程序就可以访问它

    编辑:根据错误消息,问题不在PyInstaller的打包中,而是在操作系统中。系统命令。

    操作系统。系统相当于打开DOS命令窗口并键入命令python\u文件。派克

    要访问python文件,您必须知道:

    >

  • PyInstaller在一个临时文件夹中解压打包的文件,您可以在sys中访问该文件夹。_MEIPASS(仅适用于. exe)
  • os.system可以用来启动python,给出文件的完整路径,如下所示:os.system(pythonos.path.join(sys._MEIPASS,"python_file.py"))

    但是要小心,只有在系统上安装了python(并且包含在syspath中)并从exe中安装python时,这才有效。直接执行python文件将发送异常。

  • 宋经业
    2023-03-14

    假设你有两个文件:“my_main.py”和“my_functions.py”。假设"my_main.py"从"my_functions.py"导入方法

    执行以下命令:

    pyinstaller——一个文件my_main。py my_函数。派克

    生成的单个可执行文件"my_main.exe"将在当前工作目录的"dist"文件夹下创建。

    Linux/Windows的相同进程。对于两个以上的python文件,只需在用空格分隔后包含一个即可。

    pyinstaller——一个文件my_main。py my_函数。py文件3。py文件4。派克

     类似资料:
    • 我试图构建我的项目的JRE捆绑exe文件,这是一个游戏,在本教程的帮助下使用,它创建了文件,但每当我运行这个文件时,它会给出两条错误消息: 出现JNI错误,请检查您的安装。 Java异常发生(JVM启动器)。 附言:我的项目在文件夹中包含额外的JAR文件()。

    • 这样多个页面就能共用我就能用1个css文件了

    • 我试着做一个*。使用pyqtgraph的python应用程序中的exe文件和使用pyinstaller的pyqt库。Pyinstaller生成单个*。exe文件没有错误,但当我尝试启动它时,我得到一个未找到pyqtgraph的错误。 如何构建单个*。使用pyinstaller的exe文件?

    • 我正在玩基于Windows上的MoarVM构建的perl6版本。我创建了一些perl6文件并想将其编译为exe。我尝试了以下操作: 现在我想把r编译成可执行文件 我发现这个链接谈论如何使用鹦鹉,但我正在使用MoarVM目标:http://perlgeek.de/blog-en/perl-6/my-first-executable.writeback 我的问题如何将MoarvVM目标文件编译为Win

    • 问题内容: 我已经搜索过了,但是找不到或无法理解。 现在我不是Java程序员,但是我需要将一个Java文件编译成一个现有的(已编译的)Java程序。该Java代码的源代码对我 不可 用,因此我无法编译整个项目。 我对反编译原始项目不感兴趣。 如何仅使用JDK和javac快速完成此操作?(通过命令行是我的首选。) 我知道这样做必须禁用单个java文件外部的错误检查,因为它无法读取依赖项。 在此先感谢

    • 试图编译多文件包。需要通过进行编译,同时通过一个文件同时编译所有其他文件(大约4个其他.Java文件)?我已经尝试使用了extend和等语句。 我使用了不同的编译方法和参数,但尝试只插入和 摘要:试图一次编译多个Java文件,通过Java编译单个文件。 主文件的当前代码: