Windows11でpyenv-win+poetryでpython実行環境を作成する
目次
環境
- windows 11 pro
各種インストール
pythonインストール
https://www.python.org/downloads/
pathを通すチェックボックスをチェックの上、インストールを進める。
pyenv-winのインストール
powershellで以下を実行し、pyenv-winをインストールする
pip install pyenv-win --target $HOME\.pyenv
システム環境設定を加える。
以下のコマンドを実行し、PYENV、PYENV_HOME、PYENV_ROOTを追加する。
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
pyenvコマンドを実行できるようにpathを追加する。
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
pyenvがインストールできて、実行できるか確認のため以下を実行する。
pyenv --version
バージョンが表示されたらpyenvの実行ができている。
powershellでpyenv --versionを実行した際に、実行権限で怒られる場合は以下を参考に実行ポリシーを変更するとよい。
poetryのインストール
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
インストールができたら、PATHを加えろと言われるので、言われた通りのPATHを以下のコマンドで追加する。
$Env:Path += ";C:\Users\<自身のユーザー名>\AppData\Roaming\Python\Scripts"; setx PATH "$Env:Path"
poetry --versionを実行してバージョンが表示されたらインストールできていることが確認できる。
>poetry --version Poetry (version 1.3.1)
プロジェクト毎にPythonの設定
基本的な流れは、
- pyenvで必要なpythonのバージョンをダウンロード
- 対象のディレクトリでpyenv local 3.x.xを実行
- poetryで仮想環境構築
のようにして、各プロジェクト毎にPythonのバージョンを指定して仮想環境を構築することができる。
▼AtCoder用の環境構築の例
PS C:\Users\Documents\AtCoder> poetry config virtualenvs.in-project true --local PS C:\Users\Documents\AtCoder> pyenv install 3.8.2 PS C:\Users\Documents\AtCoder> pyenv local 3.8.2 PS C:\Users\Documents\AtCoder> pyenv version PS C:\Users\Documents\AtCoder> poetry env use python PS C:\Users\Documents\AtCoder> poetry add numpy 1.18.2 PS C:\Users\Documents\AtCoder> poetry add xxx x.x.x
参考
- pyenv-win公式リポジトリ(https://github.com/pyenv-win/pyenv-win)
- poetry公式ドキュメント(https://python-poetry.org/docs/#installing-with-the-official-installe)