python在mac如何生成exe文件

在 macOS 上生成 Windows 可执行文件(.exe)最方便的方法是使用 PyInstaller。虽然 PyInstaller 本身在 macOS 和 Linux 默认生成相应平台的可执行文件,但是我们可以借助 Docker 和 multiarch容器 镜像来实现在 macOS 上生成 exe 文件。

以下是生成 Windows 可执行文件的详细步骤:

1. 如果你还没有安装 Docker,请前往 https://www.docker.com/products/docker-desktop 下载并安装 Docker Desktop for Mac。

2. 创建一个 Python 脚本(例如 hello.py)作为例子。内容如下:

```

# hello.py

print("Hello, World!")

```

3. 在 macOS 的 Terminal 中,运行以下命令,以安装 multiarch 版本的 PyInstaller:

```bash

docker pull pyinstallerhooksbot/pyinstaller_with_docker_multiarch_support:python-3.9.10-alpine-linux-arm32v6-linux_arm64

```

4. 现在使用 docker 运行 multiarch 版的 PyInstaller,将 Python 脚本转换为 exe 文件:

```bash

docker run --rm -v "$(pwd):/src/" pyinstallerhooksbot/pyinstaller_with_docker_multiarch_support:python-3.9.10-alpine-linux-arm32v6-linux_arm64 pyinstaller hello.py --onefile --clean --name hello.exe --distpath /src/dist --workpath /src/build --noconfirm --add-data '/usr/local/lib/python3.9/site-packages/PyInstaller/bootloader/Windows-64bit/:/windll' --add-binary '/opt/local/bin/GNU/windows/posix:/gnutools/bin' --icon /src/icons/app.ico --version-file /src/versioninfo.txt

```

- `$(pwd)` 将当前目录映射到 Docker 容器的 `/src/` 目录。

- `hello.py` 是你要编译的 Python 脚本文件。

- `--onefile` 选项将生成单个 exe 文件。

- `--clean` 选项在每次运行之前清理旧的构建文件。

- `--name hello.exe` 设置生成的 exe 文件名。

- `--distpath` 选项指定输出文件的目录(此例指定 `/src/dist`)。

- `--workpath` 选项设置临时构建目录(此例指定 `/src/build`)。

- `--noconfirm` 选项跳过对话框确认。

*可根据需要自定义 `--icon` 和 `--version-file` 参数,分别为 exe 文件指定图标和版本信息。

5. 运行上述命令后,若一切顺利,终端会有一些输出信息来描述构建过程。构建完成后,在当前目录的 `dist` 文件夹里可以找到 `hello.exe` 文件。

6. 将 `hello.exe` 复制到 Windows 系统,双击运行即可。

需要注意的是,运行 exe 文件的 Windows 系统应安装相应版本的 Visual C++ Redistributable for Visual Studio(用于提供运行时环境)。如未安装,请访问以下链接进行下载:

- 对于 Python 3.5 - 3.8,安装: https://aka.ms/vs/16/release/vc_redist.x64.exe

- 对于 Python 3.9 及以上,安装: https://aka.ms/vs/16/release/VC_redist.x64.exe

这就是在 macOS 上生成 Windows 的 exe 文件的详细教程。