pyenvを使ってpythonをインストールします。バージョンは3.10.xを選択します。
- OS: Xubuntu
- Python: 3.10.x
- Shell: zsh
OSにXubuntuを使用していますが、Ubuntuでも同じだと思います。
1. pyenvをインストール
pyenvをダウンロードします。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
pyenvにパスを通します。こちらはzsh用のコマンドです。bashなどの他のシェルを使用している場合は公式ページを見てください。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
設定を再読み込みします。
source ~/.zshrc
pyenvがインストールできたか確認します。バージョン情報が表示されればOKです。
pyenv -v
2. Python 3.10.xをインストール
必要なパッケージをインストールします。
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
Python 3.10 をインストールします。
pyenv install 3.10
インストールできたことを確認します。
pyenv versions
インストールされたバージョンは3.10.10でした。普段使用するPython のバージョンを3.10.10に変更します。
pyenv global 3.10.10
3. Poetryをインストール
pyenvが管理しているpython 3.10.10環境にインストールします。 どこにインストールされるのかはpipのバージョン情報で確認できます。
pip --version
以下は実行例です。
pip 22.3.1 from /home/USERNAME/.pyenv/versions/3.10.10/lib/python3.10/site-packages/pip (python 3.10)
では、Poetryをインストールします。
pip install poetry
4. Poetryを使ってプロジェクトを作成
Poetryを使ってpython-my-app
という名前のプロジェクトを作成します。
poetry new python-my-app
これで以下のようなディレクトリ構成を持つプロジェクトが作成されます。
python-my-app
├── pyproject.toml
├── python_my_app
│ └── __init__.py
├── README.md
└── tests
└── __init__.py
5. Python仮想環境を用意
続いて、このプロジェクト用のPython仮想環境を用意します。 現在使用している環境にライブラリを追加していくとバージョンの管理が難しくなるためです。
まず、ディレクトリを移動します。
cd python-my-app
続いて仮想環境を作成します。
python -m venv venv
これでvenv
という名前のディレクトリが用意されました。この中に仮想環境の情報が保存されています。
次に仮想環境を有効にします。(仮想環境を無効にする(仮想環境から抜ける)場合はdeactivate
を実行します)
. venv/bin/activate
ここで仮想環境が有効になったかどうかを確認します。以下のコマンドを実行しpip
の場所が仮想環境の中になっていたらOKです。
pip --version
以下は実行例です。
pip 22.3.1 from /home/USERNAME/python-my-app/venv/lib/python3.10/site-packages/pip (python 3.10)
続いてPoetryを仮想環境にインストールします。
pip install poetry
Poetryがインストールされた場所を確認します。
which poetry
ここで仮想環境の外にパスが表示されている場合は、仮想環境を無効にしてから再度有効にします。
deactivate
. venv/bin/activate
もう1度which poetry
を実行してみて、仮想環境の中にインストールされていたらOKです。
次のコマンドを実行しておきましょう。
poetry install
6. パッケージを追加
例として pendulum
を追加してみます。
仮想環境が有効な状態で以下のコマンドを入力します。
poetry add pendulum
pyproject.toml
ファイルが更新されます。
python_my_app
にmain.py
を作成し、以下の内容で保存します。
import pendulum
now_in_paris = pendulum.now('Europe/Paris')
print(now_in_paris)
実行してみましょう。エラーとならずに日時が出力されればOKです。
poetry run python python_my_app/main.py
次にblack
を追加してみます。
仮想環境が有効な状態で以下のコマンドを入力します。
poetry add --group dev black
これでpyproject.toml
ファイルの[tool.poetry.group.dev.dependencies]
にblack
が追加されます。
black
でフォーマットしてみます。
poetry run black .
main.py
がフォーマットされます。シングルクォーテーションがダブルクォーテーションに置換されました。
以上です。