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 麥金塔電腦上。
在安裝後你必須要做幾件事:
- A
MacPython 3.5
folder in yourApplications
folder. In here you find IDLE, the development environment that is a standard part of official Python distributions; PythonLauncher, which handles double-clicking Python scripts from the Finder; and the 「Build Applet」 tool, which allows you to package Python scripts as standalone applications on your system. - 框架
/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 运行时使用“帮助”菜单。
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. Mac OS X 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 (http://macvim.org) and 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 来启动这样的脚本。
With Python 3.5, you can use either python or pythonw.
4.1.3. 設定¶
OS X 上的 Python 遵循所有标准的 Unix 环境变量,例如 PYTHONPATH
,但是为 Finder 启动的程序设置这些变量是非标准的,因为 Finder 在启动时不读取你的 .profile
或 .cshrc
。你需要创建一个文件 ~/.MacOSX/environment.plist
。 有关详细信息,请参阅 Apple 的技术文档 QA1067 。
更多关于在 MacPython 中安装 Python 包的信息,参阅 安装额外的 Python 包 部分。
4.2. 整合化開發工具¶
MacPython ships with the standard IDLE development environment. A good introduction to using IDLE can be found at https://hkn.eecs.berkeley.edu/~dyoo/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 is a Python binding to Apple’s Objective-C/Cocoa framework, which is the foundation of most modern Mac development. Information on PyObjC is available from https://pythonhosted.org/pyobjc/.
标准的 Python GUI 工具包是 tkinter
,基于跨平台的 Tk 工具包( https://www.tcl.tk )。 Apple 的 OS X 捆绑了 Aqua 原生版本的 Tk ,最新版本可以从 https://www.activestate.com 下载和安装;它也可以从源代码构建。
wxPython is another popular cross-platform GUI toolkit that runs natively on Mac OS X. Packages and documentation are available from http://www.wxpython.org.
PyQt 是另一种流行的跨平台 GUI 工具包,可在 Mac OS X 上本机运行。更多信息可在 https://riverbankcomputing.com/software/pyqt/intro 上找到。
4.5. 貢獻Python應用程式於 Mac¶
The 「Build Applet」 tool that is placed in the MacPython 3.5 folder is fine for packaging small Python scripts on your own machine to run as a standard Mac application. This tool, however, is not robust enough to distribute Python applications to other users.
在 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: