はじめに
古い情報があふれているため、2021年における Python のインストール手順についてまとめます。
Python のインストールは、オリジナルな Python か、科学技術計算向けのAnacondaディストリビューションを介するかのいずれかで行うことが多いです。
ここでは、オリジナルな Python 処理系の Python 3.10 のインストール手順について示します。
Windows編については以下を参照してください。
現在の OSX には Python 2 と Python 3 双方がプリインストールされています。Big Sur (11.6) では以下のバージョンとなっています。
$ python -V Python 2.7.16 $ python3 -V Python 3.8.2
バージョンについて特にこだわりがなければ、そのままプリインストールされたものを使い続けることもできますが、別途 Python をインストールするのが一般的です。
Mac環境へのインストール
ここでは、Homebrew によるインストールを行うこととします。異なるバージョンの Python を使い分ける場合には、pyenv でバージョン切り替えを行う方法もありますが、古いバージョンが必要だったり、厳密なバージョン指定が必要な場合以外は、Homebrew で直接インストールすれば十分です。
Homebrew のフォーミュラ(パッケージ)は、Python 3.7 以降、メジャー・マイナーのバージョン付きで、現在は以下のようなものが提供されています。
$ brew search python ==> Formulae python@3.7 python@3.8 python@3.9 python@3.10 ...
Homebrew を使った場合、3.9.7
の 7
のようなパッチバージョンは自動で更新されるため、パッチバージョンまで固定したい場合は、pyenv のようなバージョンマネージャツールを使うと良いでしょう。
なお、現在フォーミュラは以下のような Aliases となっているため、python
としてインストールすれば、python@3.9
がインストールされることになります。
python -> ../Formula/python@3.9.rb
3.9 系のインストールは以下のよう行えます。
$ brew install python ==> python@3.9 Python has been installed as /usr/local/bin/python3 Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to `python3`, `python3-config`, `pip3` etc., respectively, have been installed into /usr/local/opt/python@3.9/libexec/bin You can install Python packages with pip3 install <package> They will install into the site-package directory /usr/local/lib/python3.9/site-packages tkinter is no longer included with this formula, but it is available separately: brew install python-tk@3.9 See: https://docs.brew.sh/Homebrew-and-Python
バージョンを確認しておきましょう。
$ python3 --version Python 3.9.7
同様に、最新の 3.10
系は以下のようにインストールできます。
$ brew install python@3.10
Python のバージョン切り替え
Homebrew で入れた Python は、unlink
link
でバージョンの切り替えを行うことができます。Homebrew 2.6.0 以前は、switch
コマンドによりバージョン切り替えを行いましたが、現在 switch
コマンドは廃止されているため、unlink
link
を使います。
現在のバージョンを確認しておきましょう。
$ python3 --version Python 3.9.7
現在は、Python 3.9.7 が有効になっています。
バージョンは以下のように切り替えることができます。
$ brew unlink python3 && brew link --force python@3.10 Unlinking /usr/local/Cellar/python@3.9/3.9.7_1... 24 symlinks removed. Linking /usr/local/Cellar/python@3.10/3.10.0_2... 24 symlinks created. If you need to have this software first in your PATH instead consider running: echo 'export PATH="/usr/local/opt/python@3.10/bin:$PATH"' >> ~/.zshrc
これで Homebrew リポジトリへのシンボリックリンクが python@3.10 に切り替わります。
バージョン確認しておきましょう。
$ python3 --version Python 3.10.0 $ pip3 --version pip 21.2.4 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
シンボリックリンクの切り替え時に、コンフリクトするファイルを強制的に上書更新する場合には以下のように --overwrite
フラグを付けます。
$ brew link --force --overwrite python@3.8
また、リンク時に削除されるファイルのリストを事前に確認したい場合には以下のようにすることができます。
$ brew link --overwrite --dry-run python@3.8
venv で仮想環境を作成する
Python では、Python ランタイムのバージョンに加え、周辺ライブラリパッケージのバージョン管理が必要となります。ライブラリを(pipを使って)インストールすると、グローバルにインストールされるため、プロジェクトに応じたパッケージバージョンを利用するには実行環境を切り替える仮想環境を使います。
Python 3.4 までは、仮想環境のツールは pyvenv でしたが、Python 3.6 では非推奨となり、現在は venv が推奨ツールとなっています(旧来の virtualenv が venv として取り込まれました)。
venv を使うことで以下が実現できます。
- システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えを行う
- 異なるバージョンの Python を使いわけたり、同じモジュールの複数のバージョンを使い分ける
仮想環境は、プロジェクトディレクトリで以下のように作成します。
$ mkdir python $ cd python $ python3 -m venv .venv
.venv
は仮想環境のディレクトリ名で、好きな名前を付けることができます(.venv
とすることが多いです)。
このコマンドを実行すると、.venv
ディレクトリが作成され、以下のようなスクリプトが配備されます。
$ tree .venv .venv ├── bin │ ├── Activate.ps1 │ ├── activate │ ├── activate.csh │ ├── activate.fish │ ├── pip │ ├── pip3 │ ├── pip3.10 │ ├── python -> python3.10 │ ├── python3 -> python3.10 │ └── python3.10 -> /usr/local/opt/python@3.10/bin/python3.10 ├── include ├── lib │ └── python3.10 │ └── site-packages │ └── ... └── pyvenv.cfg
作成されたスクリプトを使って、仮想環境への切り替えを行います。
$ source .venv/bin/activate (.venv) $
仮想環境への切り替えを行うと、プロンプトに仮想環境名が表示されるようになります(. ./.venv/bin/activate
としても同様です)。これにより、仮想環境作成時の Python のバージョンが固定され、追加でインストールするパッケージも、この仮想環境内にインストールされることになります。
仮想環境では、.venv/bin
のパスが先頭に追加されるため、以下のように python コマンドや pip コマンドが利用できます。
(.venv) $ python --version Python 3.10.0 (.venv) $ pip --version pip 21.2.4 from /Users/.../.venv/lib/python3.10/site-packages/pip (python 3.10)
仮想環境から抜けるには以下のようにします。
(.venv) $ deactivate $
Python 3.9 用の仮想環境を作成したい場合には、以下のようにすることができます。
$ brew unlink python3 && brew link --force python@3.9 $ python3 -m venv .venv39 $ source .venv39/bin/activate (.venv39) $ python --version Python 3.9.7
pip でパッケージをインストールする
pip
は、Python パッケージの管理を行うユーティリティで、Python 3.4 以降で標準付属されています。pip
コマンドを利用することで、The Python Package Index に公開されているパッケージのインストールなどを行うことができます。
pip
によるパッケージ操作は、通常、仮想環境で操作します。仮想環境で操作することで、プロジェクト別で利用するパッケージのバージョンを管理することができます。
pip
のバージョンは以下のように確認できます。
(.venv) $ python -m pip --version pip 21.2.4 from /Users/.../.venv/lib/python3.10/site-packages/pip (python 3.10)
仮想環境内の pip
が使われていることがわかると思います。
仮想環境内では、パスが通っているので、python -m
を付けなくても大丈夫です。仮想環境外での利用も考慮して、ここでは python -m
を付けて記載します。
pip
のアップグレードは以下のように行います。
(.venv) $ python -m pip install --upgrade pip Requirement already satisfied: pip in ./.venv/lib/python3.10/site-packages (21.2.4) Collecting pip Downloading pip-21.3.1-py3-none-any.whl (1.7 MB) ... Successfully installed pip-21.3.1
pip
によるパッケージのインストールは pip install
で行います。
例えば、django パッケージのインストールは以下のようになります。
(.venv) $ python -m pip install django Collecting django Downloading Django-3.2.8-py3-none-any.whl (7.9 MB) ・・・
折角なので、アプリを起動してみましょう。
(.venv) $ django-admin startproject sample (.venv) $ cd sample (.venv) $ python manage.py runserver
起動できましたね。
pip
自体の操作は別の記事で説明します。