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

8

我已经使用Python在Ubuntu 14.04(64位)上编写了一个小型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文件! - Flame of udun
尝试在Mac上使用与Windows或Linux相同的命令。 - arvindh
2个回答

11

我在我的Ubuntu系统中尝试过:

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

然后它创建了一个可运行的二进制文件。


这些标志是什么意思? - Lucas
4
@Lucas -D用于创建包含可执行文件的单个文件夹捆绑包,-F用于创建单个文件的捆绑可执行文件,-n为名称,-c用于打开控制台窗口以进行标准输入/输出。 - crysal
@crysal 如果不想使用控制台,应该使用哪个标志? - Samudra Ganguly

2

问题出在 pyinstaller 2.1 上。安装 dev 版本的 pyinstaller(版本号为 2.1.1dev-)可以解决该问题。


1
我做了。但它是一个二进制文件,不是exe文件。而且由于某种奇怪的原因,只有当该二进制文件位于主目录下时才能正常工作。例如,在路径/home/username下。操作系统是Ubuntu 14.4。 - arvindh
你的意思是,我如何为Windows创建exe文件? - arvindh
我正在使用Mac,并希望创建可在Windows上运行的可执行文件,因为我没有Windows机器。我想在我的Mac环境中生成Windows用户的可执行文件。 - Volatil3
1
你不能在Mac系统上为Windows机器创建exe文件。你需要相应的操作系统来创建可在该操作系统下运行的可执行文件。 - arvindh
1
@Volatil3 可以直接从微软获取预构建的 Windows 虚拟机,并在其中进行构建:https://developer.microsoft.com/zh-cn/microsoft-edge/tools/vms/ - Andrea Lazzarotto
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接