问题标签 [pyinstaller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2427 浏览

python - Python,Pyinstaller 在 Windows 中创建快捷方式

我正在制作一个 python 脚本,它.lnk使用模块创建一个快捷方式()文件,win32com.clientpyinstaller用来将它转换为 exe。我也在使用Tkinter,所以我需要--tk支持pyinstallerPyinstaller似乎不能同时使用--tk和导入win32com.client(我不知道为什么)我需要它来工作。也许有一种方法可以在没有(我已经搜索了很多但没有成功)的情况下创建快捷方式win32com.client或进行pyinstaller工作(我在win32com.clientand pyinstaller here之间发现了一个问题 ,但补丁没有解决我的问题)谢谢!

0 投票
3 回答
15615 浏览

python - 如何将所有资源编译成一个可执行文件?

我已经用 python 编写了 GTK 应用程序。

所有图形用户界面都在 glade 文件中,并且使用了一些图像。我希望将我的应用程序编译成可执行文件。为此,我使用PyInstaller编译器和UPX打包器。

我已经按照手册说的做了:

PyInstaller 完美运行并创建一个 exe 文件。但是为了使我的应用程序正常工作,我必须将我的glade图像文件复制到 exe 的文件夹中。

有没有办法将这些文件编译成可执行文件?

我以各种方式编辑了我的规范文件,但我无法实现我想要的。下面的spec文件只拷贝文件到目录,不编译成可执行文件

我希望只有一个包含所有内容的可执行文件

0 投票
1 回答
546 浏览

python - wxPython的Pyinstaller Activex属性错误

出于某种原因,当我使用 Pyinstaller 编译我的应用程序时,它在运行时给了我一个错误:

还有我的代码的顶部(代码本身非常长)。我还删除了顶部的一大堆数组,其中包含应用程序的文本。

0 投票
1 回答
8376 浏览

wxpython - 使用 Pyinstaller 编译应用程序,但在运行生成的 exe 时不要启动 cmd

当我运行可执行文件时,如何使用 Pyinstaller “编译” GUI 应用程序,并且只获得 wxPython 生成的 GUI?此刻,当我运行exe时,会弹出一个cmd窗口,然后是wxPython Window。这在我调试时很好,但在我分发我的应用程序时没有任何用处(甚至可能是相反的!)。

0 投票
3 回答
40460 浏览

python - 构建 pyinstaller 可执行文件时,我可以控制架构(32 位与 64 位)吗?

简短的问题
在构建 pyinstaller 可执行文件时,有什么方法可以控制/保证架构(32 位与 64 位)?

背景
我从 py2exe 迁移到 pyinstaller,因为缺乏 64 位支持以及许多我很难回顾过去的小事情。因此,在这点上,我宁愿回头。我已经使用 Python 2.7 64 位开发了两个应用程序,并且在 32 位机器上运行时遇到了性能问题。

第一个是一个简单的 wxPython GUI(2.9 版)并连接到一个用于 USB 驱动程序的 Windows DLL 文件。这个以 32 位运行似乎非常“安全”,因为没有仅 64 位的模块。但是,在 32 位 Windows XP 上运行时,此应用程序在与 USB 设备通信时会出现可怕的性能问题。

第二个应用程序要大得多,由于担心架构问题,我还没有尝试构建和运行。此应用程序中使用了一些仅限 64 位的模块(一个为 psycopg2)。如果无法作为 32 位可执行文件运行, 我想远离尝试构建它。

目前的想法
我觉得这可能是可能的(如果模块支持 32 位),通过在 32 位模式下强制运行 Python 的 build.py。这有道理吗?

更新
我正在构建的第一个程序有几个突破。事实证明,性能问题完全取决于两台机器的速度。我的开发机器有足够的能力足够快地轮询 USB 设备,而速度慢得多的测试平台 (Windows XP) 则没有。

我通过修改轮询 USB 端口的方式解决了这个问题。现在这个问题已经解决了,我可以在两个系统上运行 exe。尝试将可执行文件构建为单个文件时出现了一个新问题。运行 pyinstaller 的 Build.py 时,它会引入应用程序运行所需的所有 DLL。起初这似乎很好用,但是当我尝试运行在 Windows 7 64 位上构建的单个 exe 时,它​​无法在 Windows XP 上运行,因为 USB 加密狗的 DLL 未被识别为有效的 DLL。

为了让单个 exe 在两个系统上运行,我首先尝试从 .spec 文件(这似乎是一个 python 脚本)中删除 DLL。这很方便,因为我能够在构建命令之前使用普通的 python 列表修饰符修改包含列表。我的希望是,如果在 exe 的临时目录中找不到 DLL,它会在系统 PATH 中找到它。虽然这种方法可能有效,但我无法让它在不引发大量错误的情况下运行。

我的第二次尝试是在 Windows XP 机器上构建应用程序(保留 DLL 嵌入),希望 Win XP DLL 可以在 Windows 7 中工作。成功!这种配置效果很好;但是我坚信这不是最好的解决方案,因为它完全取决于在新操作系统上运行的旧 DLL。

0 投票
2 回答
1179 浏览

python - 我在使用 gui2exe 创建可执行文件时遇到问题

我决定尝试使用 gui2exe 来制作我的可执行文件,但我无法让它工作,PyInstaller、Py2exe 或 cxFreeze 都没有。它创建了一个非启动可执行文件(我运行它,它开始加载,然后它停止加载,什么都没有,任务管理器在进程中没有它)。

当 gui2exe 让我测试已编译的项目并且我点击“是”时,我收到以下错误:“该项目从未编译过或它的可执行文件已被删除。”

当我通过批处理文件或 cmd 编译时,不会发生这种情况。

请提供有关使用 gui2exe 的任何帮助、指南、手册和文档!

  • 我在 Windows 7 32bit 上运行它
  • 蟒蛇 2.7
  • GUI2exe-0.5.1
  • 我安装了 pyinstaller-1.5.1、py2exe-0.6.9、cx_freeze-4.2.3

更新:这是我正在使用的测试代码:文件 Tk_tester.py (这是主要的)

和文件 ScrolledWidgets.py

这编译好了。但是当我运行生成的 exe 时,我得到一个“ImportError:没有名为 carchive 的模块”。

我已经尝试过一个只有控制台的应用程序——它运行正常。

0 投票
3 回答
34879 浏览

python - PyInstaller,规范文件,ImportError:没有名为“blah”的模块

我正在尝试通过PyInstaller构建一个 python 脚本。我使用以下命令来配置、生成规范文件和构建:

这是它生成的规范文件:

这在目录中构建了一个可执行文件dist/。尝试运行此文件时,我得到以下信息:

如果我将此可执行文件移动到实际 Python 代码的目录中,它会给出不同的结果:

在 ... pyinstaller 文档中,我看到这--onefile是我需要/想要的选项,但由于某种原因,并非所有内容都在编译。

该脚本并没有真正包含任何花哨的东西,只是我为 sql 语句编写的一些快速模块,以及解析某些网站。

0 投票
3 回答
19073 浏览

python - Pyinstaller,NameError:未定义全局名称“退出”

我有一个运行得很好的 python 脚本,但是在运行 pyinstaller 之后,当我使用quit()orexit()命令时,我得到以下信息:

Makespec 文件:

这是我运行应用程序后看到的内容:

0 投票
1 回答
2245 浏览

python - pyinstaller 1.5.1,NameError:未定义全局名称“zipfile”,http://www.pyinstaller.org/ticket/308

问题

出于某种原因,pyinstaller 不适合我......有人可以帮忙吗?

这里报告了一个类似情况的错误:http: //www.pyinstaller.org/ticket/308

但它似乎固定????

谢谢!

0 投票
14 回答
176964 浏览

python - 使用 PyInstaller (--onefile) 捆绑数据文件

我正在尝试使用 PyInstaller 构建一个包含图像和图标的单文件 EXE。我终其一生都无法使用它--onefile

如果我这样做--onedir,一切都会很好。当我使用--onefile时,它找不到引用的附加文件(运行编译的 EXE 时)。它发现 DLL 和其他一切都很好,只是不是两个图像。

我查看了运行 EXE 时生成的临时目录(\Temp\_MEI95642\例如),文件确实在那里。当我将 EXE 放在该临时目录中时,它会找到它们。非常令人困惑。

这是我添加到.spec文件中的内容

我应该补充一点,我也尝试过不将它们放在子文件夹中,但没有任何区别。

编辑: 由于 PyInstaller 更新,将较新的答案标记为正确。