はじめに
環境構築で少しハマったので手順を残しておきます。
Windowsユーザ向けの記事です。
最新情報は、公式ドキュメントをご参照ください。
環境
OS: Windows 10
pyenv-win: 3.1.1
Poetry: 1.6.1
pyenvインストール
Pythonのバージョン管理のため、pyenvを導入する。
pyenvを導入すると、プロジェクトごとにPythonのバージョンを切り替えて使うことができる。
pyenvではWindowsをサポートしていないので、フォーク版のpyenv-win を使う。
pyenv-winインストール
公式ドキュメントに記載されている以下のコマンドでインストールする。
PATHも自動で追加される。
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1
動作確認
C:■■> pyenv --version
pyenv 3.1.1
Pythonインストール
pyenv-win でサポートされているPythonのバージョンのリストを見るには以下のコマンドを実行する。
pyenv install -l
Pythonインストール
pyenv install 3.10.11
Pythonのグローバルバージョン設定
pyenv global 3.10.11
Poetryインストール
Pythonの依存関係管理、仮想環境作成を行うため、Poetryをインストールする。
以下のコマンドでインストールする。
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
動作確認
C:■■■> poetry --version
Poetry (version 1.6.1)
プロジェクト作成
poetry new poetry-demo
ライブラリインストール
poetry add pendulum
Pythonプログラム実行
poetry run python your_script.py
ハマりポイント
実はPoetryインストール後にPythonのバージョンを上げる必要があることが分かり、もともと入っていたPythonをアンインストールして、pyenvをインストールした。
すると、poetryコマンドが通らなくなった。
C:■■> poetry --version
No Python at 'C:\■■\AppData\Local\Programs\Python\Python39\python.exe'
Poetryインストール時に、インストールされているPythonを指定している。
公式ドキュメントでは以下となっている。
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
py
というのは、Pythonランチャー(py.exe)を指している。
Windows版のPythonインストーラにはPythonランチャーが付いている。
pyenvでインストールされるPythonはpython
(python.exe)なので、こちらを指定してやる必要がある。
公式ドキュメントの書き方は、pyenvユーザではなくPythonインストーラを使ってインストールしたユーザ向けのものなのだろう・・
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
おわりに
公式ドキュメント通りにやればいけるやろ(安直)ではいけませんね・・
pythonとpyの違いを知れてよかった!
参考文献