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

Cha*_*ton 3 python ubuntu wine nuitka

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

print("Hello please")
Run Code Online (Sandbox Code Playgroud)

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

$ wine hello.exe
wine: Bad EXE format for Z:\home\crclayton\hello.exe.
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

此文件的版本与您正在运行的Windows版本不兼容.检查计算机的系统信息,以查看是否需要该程序的x86(32位)或x64(64位)版本,然后与软件发行商联系.

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

Nai*_*aib 6

根据Nuitka手册

生成的文件名将是所有平台上的program.exe,这并不意味着它不能在非Windows上运行!但是如果你编译程序我们不想覆盖它,或者不确定哪一个是编译形式,哪一个不是.

如果你运行nuitka hello.py on Ubuntu (and thusgcc ELF) you will createhello.exe`但是只支持linux的ELF可执行文件

如果您nuitka hello.py在Windows(以及gcc/PE)上运行,您将创建hello.exe一个仅限Windows的PE可执行文件(可以通过WINE在Linux中执行)

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

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

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