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

20230109-1-1.png

バージョンが表示されたら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"

20230109-1-1.png

poetry --versionを実行してバージョンが表示されたらインストールできていることが確認できる。

>poetry --version Poetry (version 1.3.1)

プロジェクト毎にPythonの設定

基本的な流れは、

  1. pyenvで必要なpythonのバージョンをダウンロード
  2. 対象のディレクトリでpyenv local 3.x.xを実行
  3. 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

参考