如何使用 Pyinstaller 为 Linux 机器创建可执行文件?

Posted

技术标签:

【中文标题】如何使用 Pyinstaller 为 Linux 机器创建可执行文件?【英文标题】:How to create an executable file for Linux machine using Pyinstaller? 【发布时间】:2015-09-24 10:14:33 【问题描述】:

我在 Ubuntu 14.04(64 位)上使用 python 编写了一个小型 GUI 桌面应用程序。我想要我的代码的可执行版本,以便它可以在其他 linux 机器上运行。我能够为 Windows 和 Mac 创建可执行文件。但在 Linux 上,创建的二进制文件不起作用。

对于 Windows: 我用来使代码可执行的命令是

pyinstaller -D -F -n main -w "main.py"

这在其他 Windows(64 位)机器上也可以正常工作。

对于 mac:

pyinstaller --windowed "main.py"

工作正常。

linux:我试过了

pyinstaller main.py

还有

pyinstaller -D -F -n main -w "main.py"

我无法打开二进制文件

我尝试使用chmod更改权限,仍然是同样的错误。

我正在使用:

python 2.7 - 64 位 pyinstaller 2.1 Tkinter

【问题讨论】:

Mac 的命令以某种方式为我创建了一个 jpg 文件! 尝试使用与 windows 或 Linux for Mac 相同的命令。 【参考方案1】:

pyinstaller 2.1 是问题所在。安装dev版本的pyinstaller(版本2.1.1dev-)工作。

【讨论】:

你是从 Linux 环境中创建 Exe 的吗? 我做到了。但它是一个二进制文件,.. 不是exe。并且出于某种奇怪的原因,该二进制文件仅在其位于主目录下时才有效..即。例如,在路径 /home/username 下。操作系统是 Ubuntu 14.4 你是如何在 windows 中运行的? 你不能在 Mac 系统上为 windows 机器创建 exe。您需要相应的操作系统来创建可执行文件以在该操作系统下工作 @Volatil3 可以直接从 Microsoft 获取预构建的 Windows 虚拟机并在其中构建:developer.microsoft.com/en-us/microsoft-edge/tools/vms【参考方案2】:

我在我的 Ubuntu 中尝试过:

pyinstaller -D -F -n main -c "main.py"

它创建了一个工作二进制文件。

【讨论】:

标志是什么意思? @Lucas -D 用于创建包含可执行文件的一个文件夹包,-F 用于创建一个文件捆绑的可执行文件,-n 是名称,-c 是打开标准 i 的控制台窗口/o

以上是关于如何使用 Pyinstaller 为 Linux 机器创建可执行文件?的主要内容,如果未能解决你的问题,请参考以下文章

Kivy PyInstaller 在 Linux 中非常大的包大小

Python学习使用Pyinstaller将py文件导出为exe文件

如何把Python脚本导出为exe程序

使用pyinstaller将Python打包为exe文件

如何使用pyinstaller打包python文件为exe文件

PyInstaller 怎么在linux安装和使用