繁体   English   中英

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

[英]How to run a Nuitka compiled Python executable

我正在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位),我收到以下错误:

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

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

根据Nuitka手册

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

如果你nuitka hello.py on Ubuntu (and thus gcc ELF) you will create nuitka hello.py on Ubuntu (and thus运行nuitka hello.py on Ubuntu (and thus ELF) you will create hello.exe`但是只有linux的ELF可执行文件

如果你在Windows上运行nuitka hello.py (以及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 chmod +x hello.exe; ./hello.exe然后可能重命名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM