在 Mac 上使用 cx_Freeze 从 .py 创建 .exe

Posted

技术标签:

【中文标题】在 Mac 上使用 cx_Freeze 从 .py 创建 .exe【英文标题】:Creating a .exe from a .py using cx_Freeze on a Mac 【发布时间】:2017-01-19 21:02:48 【问题描述】:

我正在尝试从 python 文件创建一个可以在 Windows 上运行的可执行文件。我正在使用 Mac 并尝试使用 cx_Freeze 执行此操作。我有一个文件夹,里面有 2 个文件:pyTest.py 和 setup.py。这是pyTest.py的内容:

import numpy as np

print(np.sqrt(2))

这里是 setup.py 的内容:

import sys
from cx_Freeze import setup, Executable


build_exe_options = "packages": ['numpy'],
                     "excludes": ['Tkinter', 'tcl', 'ttk']


base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(name='test1',
      version='0.1', 
      description='test',
      options =  "build_exe" : build_exe_options,
      executables = [Executable('pyTest.py', base=base)])

当我运行终端python setup.py build 时,会创建一个名为“build”的文件夹,其中仅包含另一个名为“exe.macosx-10.6-intel-2.7”的文件夹,其中包含一个名为“lib”的文件夹 libncursesw.5, pyTest,Python。 pyTest 和 Python 都是 Unix 可执行文件。我正在使用第二台装有 Windows 10 的计算机,我试图用它来运行我试图制作的 .exe 文件。我尝试运行 pyTest 文件,但它不起作用。

【问题讨论】:

how to use cx_freeze in linux to create a package to be used in windows的可能重复 【参考方案1】:

来自“链接”类别中的帖子:

" 冻结其他平台

cx_Freeze 在 Windows、Mac 和 Linux 上工作,但在每个平台上,它只生成一个在该平台上运行的可执行文件。因此,如果您想在 Windows 上冻结您的程序,请在 Windows 上冻结它;如果您想在 Mac 上运行它,请在 Mac 上冻结它。

在紧要关头,您可以尝试使用 Wine 制作 Windows 可执行文件。我们的经验是,您需要在 cx_Freeze 运行后手动复制一些文件以使可执行文件工作。我们不推荐此选项。 "

整个上午也一直在尝试,这有点令人失望。 也许我会使用 py2exe

【讨论】:

以上是关于在 Mac 上使用 cx_Freeze 从 .py 创建 .exe的主要内容,如果未能解决你的问题,请参考以下文章

cx_freeze 问题与 mac 上的相对路径

使用 cx_Freeze 从 .py 构建一个 .exe 文件

cx_freeze 找不到 python 3 路径 mac

使用 cx_freeze 将 .py 转换为 .exe 时出错

.py 到 .exe 使用 cx_freeze 导致错误

用pyqt4设置mac任务栏菜单然后应用cx_freeze