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
