是否可以在Windows上使用pyinstaller编译单文件解决方案以便在Linux上使用?
在powershell上,运行以下命令:
pyinstaller scriptname.py --onefile
完美地工作,创建一个单独的.exe文件,在Windows上运行没有问题。如何修改它以生成二进制文件(或者在Linux上运行的任何内容,我不知道如何使用该平台,我只是想让某人使用该操作系统测试代码)?
我知道PyInstaller进程的一部分是创建.spec文件,可以修改它以进行高级编译配置,但这超出了我的范围。
在线搜索之后,似乎PyInstaller具有多平台功能,但有些资源表明python脚本只能编译用于正在编译的操作系统上,所以可能它甚至不可能,但我发现很难相信。
提前感谢您的帮助!
答案 0 :(得分:3)
pyInstaller
不打算用作交叉编译器,并且不支持这样做。事实上,这是the FAQ中的第一个答案:
- 醇>
我可以使用PyInstaller作为交叉编译器吗?
我可以在Linux下运行时打包Windows二进制文件吗?
不,这不受支持。请使用Wine,PyInstaller在Wine中运行良好。您可能还想查看邮件列表中的此主题。在1.4版本中,我们已经为此建立了一些支持,但它只显示了一半。它需要在另一个分区上安装一些Windows系统,并且只适用于纯Python程序。只要你想要一个像样的GUI(gtk,qt,wx),你无论如何都需要安装Windows库。因此,使用Wine会更容易。
我可以在Linux下运行时打包OS X二进制文件吗?
目前根本不可能。抱歉!如果您想提供帮助,我们非常欢迎您。
当然你在询问是否可以在Windows下运行时打包Linux二进制文件,但是,正如你猜测的那样,答案是一样的。
即使pyInstaller
本身无法做到这一点,但这并不一定意味着不可能;只是这将是非常艰难的。
那么,可以你做什么?嗯,一个显而易见的可能性是使用Linux(或用户模式Linux或类似的东西)运行虚拟机。然后,只需将源目录与虚拟机,ssh共享到虚拟机,然后从那里运行pyInstaller。