5. 在 Mac 系統使用 Python

作者

Bob Savage <bobsavage@mac.com>

Python 在 Mac 的 macOS 上執行和在其他 Unix 平台上執行的原理非常相似,但值得一提的是在 macOS 上有其他額外的功能,例如 IDE 與套件管理。

5.1. 取得和安裝 MacPython

macOS used to come with Python 2.7 pre-installed between versions 10.8 and 12.3. You are invited to install the most recent version of Python 3 from the Python website (https://www.python.org). A current "universal binary" build of Python, which runs natively on the Mac's new Intel and legacy PPC CPU's, is available there.

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

  • A Python 3.12 folder in your Applications folder. In here you find IDLE, the development environment that is a standard part of official Python distributions; and PythonLauncher, which handles double-clicking Python scripts from the Finder.

  • /Library/Frameworks/Python.framework 框架,包括 Python 可執行檔案 (executable) 和函式庫 (library)。安裝程式將此位置新增到 shell 路徑。要解除安裝 MacPython ,你可以簡單地移除這三個專案。Python 可執行檔案的符號連結 (symlink) 則放在 /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 腳本的部分。

5.1.1. 如何執行 Python 腳本

在 macOS 上開始使用 Python 的最佳方法是透過 IDLE 整合開發環境,參見整合化開發工具 (IDE) 部分,並在 IDE 執行時使用幫助選單。

If you want to run Python scripts from the Terminal window command line or from the Finder you first need an editor to create your script. macOS comes with a number of standard Unix command line editors, vim and emacs among them. If you want a more Mac-like editor, BBEdit or TextWrangler from Bare Bones Software (see http://www.barebones.com/products/bbedit/index.html) are good choices, as is TextMate (see https://macromates.com/). Other editors include Gvim (https://macvim-dev.github.io/macvim/) and Aquamacs (http://aquamacs.org/).

要從終端機視窗執行腳本,你必須確保 /usr/local/bin 位於 shell 搜尋路徑中。

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

  • 把它拖曳到 PythonLauncher

  • 透過 finder Info 視窗選擇 PythonLauncher 作為開啟腳本(或任何 .py 腳本)的預設應用程式,然後雙擊腳本。PythonLauncher 有各種用來控制腳本啟動方式的選項。拖曳選項可以讓你一次更改多個選項,或使用其偏好設定選單以全域性地更改內容。

5.1.2. 透過 GUI 執行腳本

對於舊版本的 Python,你需要注意一個 macOS 的怪異之處:與 Aqua 視窗管理器溝通的程式(換而言之,任何具有 GUI(圖形化使用者介面)的程式)需要以特殊方式執行。使用 pythonw 而不是 python 來啟動這樣的腳本。

Python 3.9 上,你可以使用 python 或者 pythonw

5.1.3. 設定

macOS 上的 Python 遵循所有標準的 Unix 環境變數,例如 PYTHONPATH,但是為 Finder 啟動的程式設定這些變數並非是標準做法,因為 Finder 在啟動時不會讀取你的 .profile.cshrc。你需要建立一個檔案 ~/.MacOSX/environment.plist。相關資訊請參閱 Apple 的技術文件 QA1067。

更多關於在 MacPython 中安裝 Python 套件的資訊,參閱 安裝額外的 Python 套件 部分。

5.2. 整合化開發工具 (IDE)

MacPython 附帶標準的 IDLE 開發環境。有關使用 IDLE 的詳細介紹,請見 http://www.hashcollision.org/hkn/python/idle_intro/index.html

5.3. 安裝額外的 Python 套件

有幾個方法可以安裝額外的 Python 套件:

  • 可以透過標準的 Python distutils 模式(python setup.py install)安裝套件。

  • 許多套件也可以透過 setuptools 擴充套件或 pip 包裝器 (wrapper) 安裝,請參閱 https://pip.pypa.io/

5.4. 於 Mac 上開發 GUI 程式

於 Mac 上使用 Python 來建立 GUI 應用程式有許多選項。

PyObjC 是一個 Apple Objective-C/Cocoa 框架的 Python 繫結 (binding),這是大多數現代 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 工具套件,可在 macOS 上本機執行。套件和文件可從 https://www.wxpython.org 獲得。

PyQt 是另一種流行的跨平臺 GUI 工具套件,可在原生 macOS 上執行。更多資訊可在 https://riverbankcomputing.com/software/pyqt/intro 上找到。

5.5. 於 Mac 上發行 Python 應用程式

在 Mac 上部署獨立 Python 應用程式的標準工具是 py2app。有關安裝和使用 py2app 的更多資訊,請參考 https://pypi.org/project/py2app/

5.6. 其他資源

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

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

另一個好用資源是 MacPython wiki:

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