如何运行Nuitka编译的Python可执行文件

我正在Ubuntu 14.04上试验Nuitka并尝试创建并运行可执行文件.我有一个文件hello.py与内容

print("Hello please")

我使用命令nuitka hello.py将其转换为hello.exe.但是,当我尝试使用Wine 1.7运行它时,我得到以下错误:

$wine hello.exe
wine: Bad EXE format for Z:\home\crclayton\hello.exe.

我认为这是Nuitka的问题,而不是Wine,因为我可以使用Wine来运行我在C#中创建的helloworld.exe.有谁知道如何修理它?

编辑:

我在Ubuntu上没有运气,所以我测试了我的Windows 7分区上的hello.exe(Ubuntu和Windows都是64位),我收到以下错误:

The version of this file is not compatible with the version of windows you’re running. Check your computer’s system information to see whether you need an x86 (32 bit) or x64 (64 bit) version of the program, and then contact the software publisher.

问题是Nuitka正在创建一个32位的exe并且我试图在64位操作系统上运行它吗?如果是这样,任何人都知道如何解决它?

解决方法:

根据Nuitka手册

The resulting filename will be program.exe on all platforms, that doesn’t mean it doesn’t run on non-Windows! But if you compile program we wouldn’t want to overwrite it, or be unsure which one is the compiled form, and which one is not.

如果你在Ubuntu上运行nuitka hello.py(以及因此gccELF)你将创建hello.exe`但是只有linux的ELF可执行文件

如果你在Windows上运行nuitka hello.py(以及gcc / PE),你将创建hello.exe但是一个只有windows的PE可执行文件(可以通过WINE在linux中执行)

Nuitka,Cython,cx_freeze不会生成与操作系统无关的可执行文件,但提供了为特定操作系统构建的方法

你正试图做两件事之一
1)在windows中构建linux.如果是这种情况,你需要配置交叉编译或在WINE中进行最终构建(即安装到wine:python,nuitika,gcc …)

2)你在Linux中构建linux. chmod x hello.exe; ./hello.exe#然后可能重命名.

上一篇:Python 打包 Nuitka


下一篇:Nuitka 笔记