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-pipOS 標準の 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 -Uvenv
プロジェクトごとに専用の 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 など。