问题标签 [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 投票
3 回答
3974 浏览

python - 微小的python可执行文件?

我计划使用 PyInstaller 创建一个独立的 python 可执行文件。PythonInstaller 带有对 UPX 的内置支持,并使用它来压缩可执行文件,但它们仍然非常庞大(大约 2.7 mb)。

有没有办法创建更小的 Python 可执行文件?例如使用缩小的 python.dll 或类似的东西?

0 投票
2 回答
2619 浏览

python - 为 python 独立可执行文件创建插件

如何为使用 pyInstaller、py2exe 或类似工具创建的独立可执行文件创建一个好的插件引擎?

我没有使用 py2exe 的经验,但是 pyInstaller 使用导入钩子从它的压缩存储库中导入包。当然,我可以动态导入另一个使用 pyInstaller 创建的压缩存储库并执行代码——这可能是一个简单的插件引擎。

当插件(这是动态导入的)使用原始存储库中不存在的库(从未导入)时会出现问题。这是因为导入钩子用于原始应用程序并在原始存储库中搜索包 - 而不是后来导入的包(插件包存储库)。

有没有简单的方法来解决这个问题?也许存在这样的引擎?

0 投票
7 回答
81339 浏览

python - 在 pyInstaller 生成的 Python EXE 中确定应用程序路径

我有一个驻留在单个 .py 文件中的应用程序。我已经能够让 pyInstaller 成功地将其捆绑到 Windows 的 EXE 中。问题是,应用程序需要一个 .cfg 文件,该文件始终直接位于同一目录中的应用程序旁边。

通常,我使用以下代码构建路径:

但是,当从 pyInstaller 生成的 EXE 调用 sys.path 时,它似乎是空白的。当您运行 python 交互式命令行并尝试获取 sys.path[0] 时,会发生同样的行为。

有没有更具体的方法来获取当前正在运行的应用程序的路径,以便我可以找到与其相关的文件?

0 投票
5 回答
12655 浏览

python - Python 3.0.1 可执行文件创建者

有谁知道现在是否有支持 Python 3.0.1 的 Windows Python 可执行创建程序?似乎 py2exe 和 pyInstaller 以及我发现的所有其他内容仍然无法支持 3.0 或 3.0.1。

任何帮助是极大的赞赏。

编辑:我想我可以将程序降级到旧版本的 Python 以使其与 py2exe 一起使用。最困难的部分可能是使用旧版本的 Tkinter。

有没有人幸运地使用 py2exe 或 pyInstaller(或其他 Windows 友好程序)创建使用 Tkinter 和子进程的可执行文件。

我实际上不确定如何获取我的程序将安装到的目录,以便子进程可以找到我正在使用的可执行程序。

0 投票
6 回答
25312 浏览

python - 您为 python 推荐哪种构建工具?

我正在开始一个中小型 python 项目,可能在测试驱动开发中。我的 C 和 java 的背景比 python 更多(我使用了 ant 和 makefile)

我知道在 python 中你可能不需要构建工具,但我会,因为我将使用 cython 和 PyInstaller(这个东西应该可以在几个不同的 UNIX 上工作,而不直接依赖于 python),我想要方便从 CLI 中选择测试、构建文档、检查依赖项等。

有人抱怨 python 缺少类似 make 的工具。我知道很少有工具存在,比如sconpaver,但我想听听真实用户的意见,而不仅仅是他们的网站。有人用摊铺机吗?

许多软件包附带的通常 setup.py 是怎么回事?我查了一些,看看有没有共同的用法,但我没有发现任何有趣的东西(可能我用错了例子)

您是否建议至少在开始时坚持使用我已经知道的东西(ant 和 Makefile)?如果是这样,您是否为 python (+cython+pyinstaller+pyUnit) 推荐了任何 ant 扩展?


编辑:为了避免像 jwp 这样的进一步答案,请注意,对于这个项目,我绝对需要我的程序是一个独立的可执行文件,因为在可执行文件将运行的目标平台上绝对不可能有一个 python VM。我有完全相同的硬件可用于编译,所以幸运的是我不需要交叉编译(但我会在更友好的 Linux 上进行开发)。

我还想测试我的代码是否从一开始就在 Cython 中编译,不是为了过早优化,而是为了确保我不会在使用不兼容的功能方面走得太远,如果 Cython 需要进行痛苦的重构将是非常需要的。

所以请专注于我的实际问题

0 投票
2 回答
7417 浏览

python-3.x - 为 Python 3 和 PyQt 构建可执行文件

我使用 PyQt4 在 Python 3.1 中构建了一个相当简单的应用程序。完成后,我希望将应用程序分发到没有安装任何一个的计算机上。

我几乎只关心 Windows 平台,所以我的目标是最终拥有一个可执行文件以及一些资源文件和 .dll。

搜索了一圈,我得出的结论是

  • py2exe仅支持 Python 至 2.7 版本
  • pyinstaller仅支持 Python 至 2.6 版本
  • cx_Freeze对我不起作用,因为我在尝试执行成功构建的二进制文件时不断收到以下错误:

所以我的问题基本上是这里的两个问题:

  1. 除了 cx_Freeze 之外,还有其他方法可以使用我的配置构建二进制文件吗?
  2. 如果不是,cx_Freeze 问题可能是什么?

如有必要,我可以提供有关第二个问题的更多信息,例如我对 cx_Freeze 的调用、我的 distutils 设置脚本等。

已经感谢您的帮助和评论。

0 投票
1 回答
3183 浏览

python - Pyinstaller ld-linux-x86-64.so.2 链接问题

我正在尝试在另一台 Linux 主机上部署基于 Python 的应用程序。只要我在自己的系统上运行生成的可执行文件,Pyinstaller 就可以完美运行。

在目标框中,我收到此错误消息:

/lib/ld-linux-x86-64.so.2:错误的 ELF 解释器:没有这样的文件或目录

正如 ldd 的输出所示,Pyinstaller 将我的应用程序链接到/lib/ld-linux-x86-64.so.2仅在目标系统上的/lib64/ld-linux-x86-64.so.2中可用(其中我只有基本的用户权限,因此不能对文件进行符号链接)。

如何修改我的可执行文件以在 /lib64/ 而不是 /lib/ 中查找库?

0 投票
5 回答
18309 浏览

python - 如何在不包含主机环境的站点包文件夹的情况下将 pywin32 与 virtualenv 一起使用?

我正在使用Python 2.6 下的PyInstaller,由于 MS 用他们的清单废话创建的混乱现在影响 Python,因为它现在是 MSVC8 编译的,因此仅部分支持。

问题是清单嵌入支持依赖于pywin32扩展来构建,这很痛苦,因为在我创建virtualenv时不包括主机的 site-packages 文件夹(在构建环境中有点失败)我找不到方法安装所需的扩展,以便 PyInstaller 可以访问它们。

有没有人找到解决这个问题的方法?

0 投票
2 回答
1539 浏览

python - pyinstaller:我的cherrypy应用程序exe的2个实例被执行

我有一个cherrypy应用程序,我用pyinstaller制作了一个exe。现在,当我运行 exe 时,它​​会将自身两次加载到内存中。观察任务管理器显示第一个实例加载到大约 1k,然后第二个 hte exe 实例加载到大约 3k ram。如果我关闭较大的一个,两个进程都会死。如果我关闭较小的一个,则只有一个死。

用子进程加载 exe,如果我尝试 proc.kill(),它只会杀死小的一个,而另一个在内存中运行。这是一起使用cherrypy和pyinstaller的副作用吗?

0 投票
2 回答
1847 浏览

python - pyinstaller exe 在 sys.exit() 之后没有死

我有一个用 pyinstaller 编译的cherrypy 应用程序。一个函数执行以下操作:

樱桃引擎没有问题地停止,但该过程实际上并没有死,我不知道为什么。