5. 在 Mac 上使用 Python¶
- 作者:
Bob Savage <bobsavage@mac.com>
�行 macOS 的 Mac 上的 Python 在原则上与其他 Unix 平�上的 Python �常相似,但有一些�外的特性 如集�开�环境(IDE)和包管�器值得指出。
5.1. 获�和安装 Python¶
macOS 曾ç»�在 10.8 至 12.3 版ä¸é¢„装了 Python 2.7。 å»ºè®®ä½ ä»Ž Python 网站 安装最新版本的 Python 3。 那里也æ��供了当å‰�çš„ Python "universal2 binary" 编译版,它å�¯ä»¥åœ¨ Mac 的新å¼� Apple Silicon 和旧å¼� Intel 处ç�†å™¨ä¸ŠåŽŸç”Ÿè¿�行。
ä½ å®‰è£…å�Žå¾—到的东西有:
ä½ çš„
Applications文件夹ä¸ä¼šæœ‰ä¸€ä¸ªPython 3.12文件夹。 ä½ å°†åœ¨è¿™é‡Œæ‰¾åˆ° IDLE,它是作为官方 Python å�‘è¡Œç‰ˆæ ‡å‡†ç»„æˆ�部分的开å�‘环境;以å�Š Python Launcher,它负责处ç�†åœ¨ Finder ä¸å�Œå‡» Python 脚本的æ“�作。一个框架
/Library/Frameworks/Python.framework,它包括 Python å�¯æ‰§è¡Œæ–‡ä»¶å’Œåº“。 安装程åº�å°†æ¤ä½�ç½®æ·»åŠ åˆ° shell 路径。 è¦�å�¸è½½ Pythonï¼Œä½ å�¯ä»¥ç§»é™¤è¿™ä¸‰ä¸ªé¡¹ç›®ã€‚ 将有一个 Python å�¯æ‰§è¡Œæ–‡ä»¶çš„符å�·é“¾æŽ¥æ”¾åœ¨/usr/local/bin/ä¸ã€‚
备注
在 macOS 10.8-12.3 上,Apple æ��供的 Python 版本将分别安装在 /System/Library/Frameworks/Python.framework å’Œ /usr/bin/python。 ä½ ç»�ä¸�åº”å½“ä¿®æ”¹æˆ–åˆ é™¤è¿™äº›å†…å®¹ï¼Œå› ä¸ºå®ƒä»¬ç”± Apple 控制并由 Apple 或第三方软件使用。 请记ä½�å¦‚æžœä½ é€‰æ‹©ä»Ž python.org 安装较新的 Python ç‰ˆæœ¬ï¼Œé‚£ä¹ˆä½ çš„è®¡ç®—æœºä¸Šå°†æœ‰ä¸¤ä¸ªä¸�å�Œä½†éƒ½å�¯ç”¨çš„ Python å®‰è£…ç‰ˆï¼Œå› æ¤ä½ çš„è·¯å¾„å’Œç”¨æ³•ä¸Žä½ æƒ³è¦�执行的æ“�作ä¿�æŒ�一致是é�žå¸¸é‡�è¦�的。
IDLE 包括一个 Help è�œå�•,å…�è®¸ä½ è®¿é—® Python 文件。 å¦‚æžœä½ æ˜¯å®Œå…¨çš„ Python æ–°æ‰‹é‚£ä¹ˆä½ åº”å½“å¼€å§‹é˜…è¯»è¯¥æ–‡æ¡£ä¸çš„æ•™ç¨‹éƒ¨åˆ†ã€‚
å¦‚æžœä½ ç†Ÿæ‚‰å…¶ä»– Unix å¹³å�°ä¸Šçš„ Python ï¼Œé‚£ä¹ˆä½ åº”è¯¥é˜…è¯»æœ‰å…³ä»Ž Unix shell è¿�行 Python 脚本的部分。
5.1.1. 如何�行 Python 脚本¶
ä½ åœ¨ macOS 上入门 Python 的最好方å¼�是通过 IDLE 集æˆ�å¼€å�‘环境;请å�‚阅 IDE ç« èŠ‚å¹¶åœ¨ IDE è¿�行时使用 Help è�œå�•。
å¦‚æžœä½ æƒ³ä»Ž Terminal 窗å�£å‘½ä»¤è¡Œæˆ– Finder ä¸è¿�行 Python è„šæœ¬é‚£ä¹ˆä½ é¦–å…ˆéœ€è¦�用一个编辑器æ�¥åˆ›å»ºä½ 的脚本。 macOS è‡ªå¸¦äº†å¤šä¸ªæ ‡å‡†çš„ Unix 命令行编辑器,其ä¸åŒ…括 vim nano。 å¦‚æžœä½ æƒ³è¦�一个更具 Mac é£Žæ ¼çš„ç¼–è¾‘å™¨ï¼Œé‚£ä¹ˆæ�¥è‡ª Bare Bones Software çš„ BBEdit (å�‚è§� https://www.barebones.com/products/bbedit/index.html) 是一个很好的选择,还有 TextMate (å�‚è§� https://macromates.com)。 其他的编辑器包括 MacVim (https://macvim.org) å’Œ Aquamacs (https://aquamacs.org)。
è¦�从终端窗å�£è¿�行脚本,必须确ä¿�:file:/usr/local/bin ä½�于 shell æ�œç´¢è·¯å¾„ä¸ã€‚
è¦�从 Finder è¿�è¡Œä½ çš„è„šæœ¬ï¼Œä½ æœ‰ä¸¤ä¸ªé€‰æ‹©ï¼š
将其拖拽到 Python Launcher。
选择 Python Launcher 作为通过 finder Info 窗�打开脚本(或任何
.py脚本)和å�Œå‡»å®ƒæ—¶çš„默认应用程åº�。 Python Launcher 有å�„ç§�首选项æ�¥æŽ§åˆ¶è„šæœ¬çš„å�¯åŠ¨æ–¹å¼�。 选项拖拽å…�è®¸ä½ ä¸ºå�•次å�‘起调用更改这些首选项,或使用其 Preferences è�œå�•进行全局性的更改。
5.1.2. �行有图形界�的脚本¶
对于旧版本的 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 çš„ Technical Q&A QA1067。
有关安装 Python 包的更多信�,请�阅 安装�外的 Python 包 一节。
5.2. IDE¶
Python é™„å¸¦äº†æ ‡å‡†çš„ IDLE å¼€å�‘环境。 å�¯ä»¥åœ¨ https://www.hashcollision.org/hkn/python/idle_intro/index.html 找到一篇有关使用 IDLE 的介ç»�。
5.3. 安装�外的 Python 包¶
本�节已移至 Python Packaging User Guide。
5.4. GUI 编程¶
使用 Python 在 Mac 上构建 GUI 应用程�有多�选择。
PyObjC 是一个 Python 到 Apple 的 Objective-C/Cocoa 框架的绑定,这是大多数现代 Mac 开�的基础。 有关 PyObjC 的信�,请访问 https://pypi.org/project/pyobjc/。
æ ‡å‡†çš„ Python GUI 工具包是 tkinter,基于跨平å�°çš„ Tk 工具包(https://www.tcl.tk)。 Apple çš„ macOS æ�†ç»‘了 Aqua 原生版本的 Tk,其最新版本å�¯ä»¥ä»Ž https://www.activestate.com 下载和安装;它也å�¯ä»¥ä»Žæº�代ç �构建。
wxPython 是�一个�行的跨平� GUI 工具包,�以在 macOS 上原生�行。软件包和文档�从 https://www.wxpython.org 获�。
PyQt 是�一个�行的跨平� GUI 工具包,�以在 MacOS 上原生�行。更多信��以在 https://riverbankcomputing.com/software/pyqt/intro 找到。
PySide 是�一个基于 Qt 的跨平�工具集。 更多信�请�阅 https://www.qt.io/qt-for-python。
5.5. 分� Python 应用程�¶
在 Mac 上部署独立 Python 应用程åº�çš„æ ‡å‡†å·¥å…·æ˜¯ py2app。 有关安装和使用 py2app 的更多信æ�¯å�¯åœ¨ https://pypi.org/project/py2app/ 找到。
5.6. 其他资�¶
Pythonmac-SIG 邮件列表是 Mac 上 Python 用户和开�人员的优秀支�资�:
https://www.python.org/community/sigs/current/pythonmac-sig/
�一个有用的资�是 MacPython wiki :