# 4. 在麥金塔系統使用Python

作者

  Bob Savage <bobsavage@mac.com>

Python 執行在麥金塔系統的 Mac OS X 和執行在其他 Unix 平台上原理非常相似，但有一些值得提出的是在 Mac OS X 上增加其他額外的功能例如 IDE 與 套件管理。

## 4.1. 取得和安裝MacPython

Apple 在 Mac OS X 10.8 預設安裝 Python 2.7。但你也可以到 Python website （https://www.python.org ）更新至最新的 Python 3。Python 建立在"通用二進位"上，使 Python 能以本地程序的形式運行在使用英特爾微處理器與 PowerPC 麥金塔電腦上。

在安裝後你必須要做幾件事：

- 应用程序文件夹中的 `Python 3.8` 文件夹。在这里可以找到IDLE，即官方Python发行版的标准的开发环境；PythonLauncher，用来处理来自finder的双击python脚本；以及“build applet”工具，将python脚本打包为系统上的独立应用程序。

- 框架 `/Library/Frameworks/Python.framework` ，包括 Python 可执行文件和库。安装程序将此位置添加到 shell 路径。 要卸载 MacPython ，你可以简单地移除这三个项目。 Python 可执行文件的符号链接放在 /usr/local/bin/ 中。

Apple 提供的 Python 版本分别安装在 `/System/Library/Frameworks/Python.framework` 和 `/usr/bin/python` 中。 你永远不应修改或删除这些内容，因为它们由 Apple 控制并由 Apple 或第三方软件使用。 请记住，如果你选择从 python.org 安装较新的 Python 版本，那么你的计算机上将安装两个不同但都有用的 Python ，因此你的路径和用法与你想要执行的操作一致非常重要。

IDLE 包含一个帮助菜单，允许你访问 Python 文档。 如果您是 Python 的新手，你应该开始阅读该文档中的教程介绍。

如果你熟悉其他 Unix 平台上的 Python ，那么你应该阅读有关从 Unix shell 运行 Python 脚本的部分。

### 4.1.1. 如何執行Python腳本

在 Mac OS X 上开始使用 Python 的最佳方法是通过 IDLE 集成开发环境，参见 整合化開發工具 部分，并在 IDE 运行时使用“帮助”菜单。

如果要从终端窗口命令行或 Finder 运行 Python 脚本，首先需要一个编辑器来创建脚本。 Mac OS X 附带了许多标准的 Unix 命令行编辑器，如 vim 和 emacs 。 如果你想要一个更 Mac 化的编辑器，那么:program:BBEdit 或来自 Bare Bones Software 的 TextWrangler （参见 http://www.barebones.com/products/bbedit/index.html ）是不错的选择 ，就如 TextMate`（参见 https://macromates.com/ ）。 其他编辑器包括 :program:`Gvim （ http://macvim-dev.github.io/macvim/ ）和 Aquamacs （ http://aquamacs.org/ ）。

要从终端窗口运行脚本，必须确保:file:/usr/local/bin 位于 shell 搜索路径中。

從Finder執行你的腳本時，你有兩個選項:

- 把脚本拖拽到 PythonLauncher

- 选择 PythonLauncher 作为通过 finder Info 窗口打开脚本（或任何 .py 脚本）的默认应用程序，然后双击脚本。 PythonLauncher 有各种首选项来控制脚本的启动方式。 拖拽方式允许你为一次调用更改这些选项，或使用其“首选项”菜单全局更改内容。

### 4.1.2. 透過使用者圖形介面執行腳本

对于旧版本的 Python ，你需要注意一个 Mac OS X 的怪异之处：与 Aqua 窗口管理器通信的程序（换而言之，任何具有图形界面的程序）需要以特殊方式运行。 使用 pythonw 而不是 python 来启动这样的脚本。

对于Python 3.8，可以使用 python 或 pythonw

### 4.1.3. 設定

OS X 上的 Python 遵循所有标准的 Unix 环境变量，例如 `PYTHONPATH` ，但是为 Finder 启动的程序设置这些变量是非标准的，因为 Finder 在启动时不读取你的 `.profile` 或 `.cshrc` 。你需要创建一个文件 `~/.MacOSX/environment.plist` 。 有关详细信息，请参阅 Apple 的技术文档 QA1067 。

更多关于在 MacPython 中安装 Python 包的信息，参阅 安装额外的 Python 包 部分。

## 4.2. 整合化開發工具

MacPython 附带标准的 IDLE 开发环境。 有关使用 IDLE 的详细介绍，请访问 http://www.hashcollision.org/hkn/python/idle_intro/index.html 。

## 4.3. 安装额外的 Python 包

有几个方法可以安装额外的 Python 包：

- 可以通过标准的 Python distutils 模式（ `python setup.py install` ）安装软件包。

- 许多包也可以通过 setuptools 扩展或 pip 包装器安装，请参阅 https://pip.pypa.io/ 。

## 4.4. 圖形化使用者介面(GUI) 程式開發於Mac

有許多建立圖形化使用者介面(GUI)應用程式選項使用Python於Mac上

PyObjC 是一个 Python 到 Apple 的 Objective-C/Cocoa 框架的绑定，这是大多数现代 Mac 开发的基础。 有关 PyObjC 的信息，请访问 https://pypi.org/project/pyobjc/。

标准的 Python GUI 工具包是 `tkinter` ，基于跨平台的 Tk 工具包（ https://www.tcl.tk ）。 Apple 的 OS X 捆绑了 Aqua 原生版本的 Tk ，最新版本可以从 https://www.activestate.com 下载和安装；它也可以从源代码构建。

wxPython 是另一种流行的跨平台 GUI 工具包，可在 Mac OS X 上本机运行。软件包和文档可从 https://www.wxpython.org 获得。

PyQt 是另一种流行的跨平台 GUI 工具包，可在 Mac OS X 上本机运行。更多信息可在 https://riverbankcomputing.com/software/pyqt/intro 上找到。

## 4.5. 貢獻Python應用程式於 Mac

放置在 MacPython 3.6 文件夹中的“ Build Applet ”工具适用于在你自己的计算机上打包小型 Python 脚本以作为标准 Mac 应用程序运行。 但是，此工具不够强大，无法将 Python 应用程序分发给其他用户。

在 Mac 上部署独立 Python 应用程序的标准工具是 py2app 。有关安装和使用 py2app 的更多信息，请访问 http://undefined.org/python/#py2app 。

## 4.6. 其他資源

MacPython 郵件清單對於Python使用者和開發者於Mac 上是一個極佳的支援資源

https://www.python.org/community/sigs/current/pythonmac-sig/

其他好用的資源是MacPython wiki:

https://wiki.python.org/moin/MacPython