在cxfreeze中,我可以指定我希望可执行文件使用的python版本吗?



>情况:
在我的Mac OS 10.8.5中,我可以使用python2.7和python2.7-32以及最新的cx_freeze(-4.3.2)。

我需要cx_freeze来选择 python2.7-32 版本,以便我的可执行应用程序可以使用 32 位版本的 OpenCV。

到目前为止,所有使用脚本cx_freeze尝试都表明它捆绑了python2.7(64位),并且应用程序无法执行:"cv2.so:mach-o,但错误的架构"(这与尝试导入 32 位内置的 OpenCV 时遇到的错误相同,Python 解释器为 64)

有没有办法"强制"cxfreeze将安装的特定python版本(在本例中为python2.7-32)捆绑在它生成的可执行文件中?

编辑:
我还尝试使用以下方法从 32 位源代码构建 cx-freeze:

python2.7-32 setup.py 构建;
Python 2.7-32 setup.py 安装

无论如何,生成的应用程序仍然是 64 位版本:

$ 蟒蛇2.7-32 setup.py bdist_dmg

$ 文件捕获基本
捕获基本:Mach-O 64 位可执行x86_64

$ arch -i386 ./capturebasic
arch: posix_spawnp: ./capturebasic: 可执行文件中的 CPU 类型错误

编辑2:您从sourceforge下载的Mac cx_freeze似乎只有64位:
http://sourceforge.net/projects/cx-freeze/files/4.3.2/

如果要创建 32 位

应用,则需要 32 位版本的 cx_freeze。

我正在确认是否有任何方法可以在cx_freeze的邮件列表中在Mac中安装32位版本。

我相信

您不必触摸安装脚本,只需更改用于构建它的命令即可。例如,您可以使用命令 python2.7-32 setup.py build 代替使用 python setup.py build 。您可能需要指定 python2.7-32 exe 的路径。所以像pathtopython2.7-32.exe setup.py build.注意:我使用Windows,所以我使用的示例命令在Mac上可能略有不同,例如而不是.exe它是.app

希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新