# 5. Mac で Python を使う

著者

  Bob Savage <bobsavage@mac.com>

macOS が動作している Mac 上の Python は原則的には他の Unix プラットフォーム上の Python と非常によく似ていますが、 IDE やパッケージ・マネージャなどの指摘すべき追加要素があります。

## 5.1. MacPython の入手とインストール

macOS 10.8 から 12.3 までは Apple によって Python 2.7 がプリインストールされていました。Python の Web サイト (https://www.python.org) から最新バージョンの Python 3 を取得しインストールすることもできます。新しい Intel の CPU でも古い PPC の CPU でもネイティブに動作する "ユニバーサル・バイナリ" ビルドの最新のものがあります。

インストールを行うといくつかのものが手に入ります:

- `Applications` フォルダにある `Python 3.12` フォルダ。公式の Python ディストリビューションに含まれる開発環境 IDLE; と Finder から Python スクリプトをダブルクリックしたときに起動する PythonLauncher。

- Python 実行ファイルやライブラリを含む `/Library/Frameworks/Python.framework` フレームワーク。インストーラはシェルのパスにこの場所を追加します。 MacPython をアンインストールするには、これら 3 つを削除すればよいだけです。 Python 実行ファイルへのシンボリックリンクは /usr/local/bin/ に置かれています。

Apple が提供している Python のビルドは `/System/Library/Frameworks/Python.framework` と `/usr/bin/python` にそれぞれインストールされています。これらは Apple が管理しているものであり Apple やサードパーティのソフトウェアが使用するので、編集したり削除したりしてはいけません。 python.org から新しいバージョンの Python をインストールする場合には、それぞれ正常に動作する 2 つの異なる Python 環境がコンピュータにインストールされるため、意図する方の Python のパスを設定し、使用することが重要です。

IDLE にはヘルプメニューがあり Python のドキュメントにアクセスすることができます。もし Python が全くの初めての場合にはドキュメントのチュートリアルを最初から読み進めることをおすすめします。

もし他の Unix プラットフォームで Python を使い慣れている場合には Unix シェルからの Python スクリプトの実行についての節を読むことをおすすめします。

### 5.1.1. Python スクリプトの実行方法

macOS で Python を始める最良の方法は統合開発環境である IDLE を使うことです、 IDE 節を参照し IDE を実行しているときにヘルプメニューを使ってください。

もし Python スクリプトをターミナルのコマンドラインや Finder から実行したい場合は最初にエディタでスクリプトを作る必要があります。 macOS には vim や emacs などの Unix の標準のラインエディタが備わっています。もしもっと Mac らしいエディタが欲しい場合には、Bare Bones Software (http://www.barebones.com/products/bbedit/index.html を参照) の BBEdit や TextWrangler もしくは TextMate (https://macromates.com/) は良い選択候補です。他には Gvim (https://macvim-dev.github.io/macvim/) や Aquamacs (http://aquamacs.org/) などがあります。

ターミナルからスクリプトを実行するには `/usr/local/bin` がシェルのパスに含まれていることを確認してください。

Finder からスクリプトを実行するのには 2 つの方法があります:

- PythonLauncher へドラッグする

- Finder の情報ウィンドウから PythonLauncher をそのスクリプト (もしくは .py スクリプト全て) を開くデフォルトのアプリケーションとして選び、スクリプトファイルをダブルクリックしてください。 PythonLauncher の環境設定にはどのようにスクリプトを実行するかを管理する様々な設定があります。 option キーを押しながらドラッグすることで実行するごとにこれらの設定を変えられますし、環境設定メニューから全ての実行に対して設定変更することもできます。

### 5.1.2. GUI でスクリプトを実行

古いバージョンの Python には、気を付けておかないといけない macOS の癖があります: Aqua ウィンドウマネージャとやりとりをする (別の言い方をすると GUI を持つ) プログラムは特別な方法で実行する必要があります。 そのようなスクリプトを実行するには python ではなく pythonw を使ってください。

Python 3.9 では、 python と pythonw のどちらでも使えます。

### 5.1.3. Configuration

macOS 上の Python では `PYTHONPATH` のような全ての標準の Unix 環境変数が使えますが、Finder からプログラムを起動する場合このような環境変数を設定する方法は非標準であり Finder は起動時に `.profile` や `.cshrc` を読み込みません。 `~/.MacOSX/environment.plist` ファイルを作る必要があります。詳細については Apple の Technical Document QA1067 を参照してください。

MacPython の Python パッケージのインストールについてのさらなる情報は、 追加の Python パッケージのインストール 節を参照してください。

## 5.2. IDE

MacPython には標準の IDLE 開発環境が付いてきます。 http://www.hashcollision.org/hkn/python/idle_intro/index.html に IDLE を使うための良い入門があります。

## 5.3. 追加の Python パッケージのインストール

追加の Python パッケージをインストールする方法がいくつかあります:

- パッケージは Python の標準の distutils モードを使ってインストールすることができます (`python setup.py install`)。

- 多くのパッケージは setuptools 拡張や pip ラッパーを使ってもインストールできます。 https://pip.pypa.io/ を参照してください。

## 5.4. Mac での GUI プログラミング

Python で Mac 上の GUI アプリケーションをビルドする方法がいくつかあります。

PyObjC は Mac の最新の開発基盤である Apple の Objective-C/Cocoa フレームワークへの Python バインディングです。PyObjC の情報は https://pypi.org/project/pyobjc/ にあります。

Python 標準の GUI ツールキットは、クロスプラットフォームの Tk ツールキット (https://www.tcl.tk) 上に構築された `tkinter` です。 Tk の Aqua ネイティブバージョンは Apple が OS X にバンドルしており、最新バージョンは 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