Python 環境構築
Python を使うための環境構築に関するメモ。
ガイドライン
Python と Anaconda
Python パッケージをどう利用するかに、大きく2つの方法 (流派?) がある。
pip
を使って The Python Package Index (PyPI) から取得する。conda
を使って Anaconda から取得する。
Anaconda はデータサイエンスや科学技術計算のためのさまざまなツールやライブラリの実行環境。 パッケージ管理も仮想環境も全部担う。
PyPI と Anaconda の併用は困難。 特に同じパッケージを pip
と conda
の両方で入れるのは避けたほうがいいらしい。 プログラミング入門の場合は PyPI、データサイエンス・科学技術計算には Anaconda が推奨されている。
Python のインストール
MacOS
MacOS 用のインストーラか、 Homebrew を使う。
# Homebrew による python インストール
# Homebrew 自体のインストールは割愛
berw install python3
# 複数バージョンのインストール
brew install python@3.7 # バージョンを指定してインストール
ln -s /usr/local/opt/python@3.7/bin/python3.7 /usr/local/bin/python3.7 # /usr/local/bin/ にシンボリックリンク
Windows
- https://www.python.jp/install/windows/index.html
- https://learn.microsoft.com/ja-jp/windows/python/beginners
- https://docs.python.org/ja/3/using/windows.html
Windows用のインストーラを使う。 最初に出てくるウィンドウで “Add PATH” にチェックを入れる。
Windows の場合、Microsoft ストアからインストールする方法もある。 初学者向けには推奨されているが、 ディレクトリやレジストリへのアクセス制限があるため使いようによっては不具合の原因になる。
Ubuntu
sudo apt update
sudo apt install build-essential libbz2-dev libdb-dev \
\
libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
libncursesw5-dev libsqlite3-dev libssl-dev zlib1g-dev uuid-dev tk-dev
ダウンロードページからソースコードをダウンロードして解凍、ビルド:
tar xJf Python-3.x.y.tar.xz
cd Python-3.x.y
./configure
make
sudo make install
デフォルトでは usr/local/bin
にインストールされる。
Ubuntuの pip
sudo apt install python3-pip
OS 標準の Python 環境のパッケージ管理は pip
ではなく apt
を介して行うのが安全。 apt
との衝突を避けるためか、Ubuntu 標準の pip
は sudo
なしで実行すると --user
つきで実行された扱いになってパッケージは ~/.local/
にインストールされる。
pyenv
によるインストール
pyenv
は複数バージョンの Python を切り替えながら利用するためのツール。 Python x.y.z のマイナーバージョンまで切り替えて使えるが、そこまで必要か?という説もある。
必要に応じてビルド環境の用意
pyenv
のインストール:git clone https://github.com/pyenv/pyenv.git ~/.pyenv # or brew install pyenv
環境設定:
~/.bash_profile
などexport PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
バージョンを探してインストール:
pyenv install --list pyenv install 3.11.3
バージョンを切り替える:
pyenv global 3.11.3 # システム全体で切り替え pyenv local 3.11.3 # 実行したディレクトリのみで切り替え
Pyenv
https://github.com/pyenv/pyenv
Python のバージョン管理ツール。 python3.x.y
, python2.x.y
などのバージョンごとのインストール、管理のほか、 conda
環境も Pyenv 越しに用意することができる。
よく使うコマンド
pyenv --version
-
pyenv
自体のバージョンを確認 pyenv version
- いま指定されている Python のバージョンを表示する。
pyenv versions
-
利用可能な Python のバージョン一覧を表示する。(c.f.
$PYENV_ROOT/versions/*
) -
いま指定されているバージョンには
*
がついている。 pyenv install -l/--list
- インストール可能なすべてのバージョンを表示する。
-
grep
で絞ったり。(e.g.pyenv install -l | grep "miniconda"
) pyenv install <version>
- 指定したバージョンをインストールする。
pyenv rehash
-
新規インストール時に必要な処理らしい。
shims
をなんとかする。ドキュメントなし。 pyenv uninstall <version>
- 指定したバージョンをアンインストールする。
pyenv global <version>
-
グローバルな
python
のバージョンを指定する。 -
pyenv global 3.7.0 2.7.15
のようにpython2
とpython3
をそれぞれ指定することもできる。 pyenv local <version>
-
ローカルなプロジェクトで使う
python
のバージョンを指定する。 -
解除する時は
pyenv local --unset
pip
PyPI(The Python Package Index) に公開されている Python パッケージを管理するコマンド。
python3 -m pip
など、バージョンや現在使っている環境を明示した使い方が 推奨されている。
よく使うコマンド
pip3 install <package>
- パッケージのインストール
-
ローカルインストールは
-e/--editable
が便利:pip3 install -v -e /path/to/pkg
pip3 uninstall <package>
- パッケージのアンインストール
pip3 list
- インストール済みパッケージの表示
outdated
なパッケージをまとめて更新:
pip3 list -o | tail -n +3 | awk '{ print $1 }' | xargs pip3 install -U
venv
プロジェクトごとに専用の Python 実行環境を作成する。
プロジェクトを作成する:
mkdir proj cd proj
仮想環境を作成する:
python3 -m venv .venv
仮想環境へ切り替える:
source .venv/bin/activate # or . .venv/bin/activate (.venv) $
ターミナル先頭に
(.venv)
と表示され、仮想環境での実行状態になる。(.venv) $ deactivate # 仮想環境の終了
パッケージのインストール:
仮想環境中でインストールしたパッケージはその環境内でのみ使用できる。
requirements.txt
を使った環境のコピーも可能。python3 -m pip install pandas python3 -m pip freeze > requirements.txt # パッケージ一覧を書き出し python3 -m pip install -r requirements.txt # まとめてインストール
仮想環境でのパッケージのインストール先は
.venv/lib/python3.11/site-packages/
になる。 バイナリ実行ファイルは.venv/bin/
にあり、python3
,pip
もここに PATH が通る。
uv
上記すべてをお世話してくれる Rust 製コマンドラインツールの uv という選択肢もある。
Python 自体のインストールは uv python install
、 パッケージ管理は uv tool
や uv add
、 仮想環境込みのプロジェクト管理は uv init
など。