为什么cx_Freeze在64位Debian Linux上运行时会产生32位可执行文件?

时间:2016-03-12 21:53:19

标签: linux python-3.x cx-freeze

我希望能够在Linux中制作可执行文件。它工作,除了它是一个32位文件。当我切换到Windows 10并运行相同的setup.py文件时,它会生成64位.exe。但是,我想在Linux中这样做,因为那是我编写源代码的地方。我正在使用python 3.4

1 个答案:

答案 0 :(得分:0)

执行冻结过程时,您需要确保运行的是64位Python可执行文件,并且此可执行文件与您首先执行cx_Freeze安装时的可执行文件相同。您可以通过在Python本身中运行以下代码来验证您是否正在运行64位Python可执行文件:

import struct
struct.calcsize("P")

这应返回值8.您还可以在shell提示符下运行file命令,如

file `which python3.4`

这应该返回类似下面的内容,它将指示它是64位还是32位。

/usr/bin/python3.4:ELF 64位LSB共享对象,x86-64,版本1(SYSV),动态链接,解释器/lib64/ld-linux-x86-64.so.2,用于GNU / Linux 2.6.32,BuildID [sha1] = 9f7ffbe11edeecdab6596d4fa07cb559f788ac11,剥离