まぬねこの足跡。。。

備忘録+たのしさ+ひっそりと

pyenv/pyenv-win Pythonバージョン管理ソフト + Pythonインストール

pyenv/pyenv-win

各プロジェクトでPythonのバージョンを管理。
※登録されていないバージョンはインストールできない。
Windowsはpyenv-win、macOSはpyenv
github.com

管理区分

global:デフォルト
local:特定のプロジェクト(仮想環境)

pyenv-win インストール

1. 「Power Shell」を管理者権限で起動

ちょこっとメモ

PowerShellの略称は?

PowerShell6.0.0から「pwsh」

2. 以下のおまじないを入力 ※スクリプト実行権限があれば下記エラーにならない。

$ 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"

Invoke-WebRequest :Webページのコンテンツを取得(リクエストを出す。)

  • UseBasicParsing:基本的な解析のみ実行(非推奨:v6.0.0以降、全Web要求で実施の為、なくても影響なし)
  • Uri:URLで指定
  • OutFile :ダウンロード後のファイル名

2'. おまじない失敗「FullyQualifiedErrorId : UnauthorizedAccess」

「Power Shell」は、デフォルト「Restricted」により、全スクリプトの実行不可。その為のエラー。

解決策:実行権限を得る おまじない発動

権限確認

$ c:\XXXXX>PowerShell Get-ExecutionPolicy
Restricted ←全スクリプト実行不可。デフォルト

実行するスクリプトに対してのみ実行ポリシー権限を得る

$ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

以後、「Y」入力。再度、「2. 以下のおまじないを入力」実行。

pyenvインストール 確認

Git Bash起動して以下を入力

$ pyenv --version

※バージョンが表示せれればOK

4. 環境変数設定

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")

USER PATH 変数にも追加

[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")

「Power Shell」終了。

Windows Store」からのPythonインストールを停止。

Python(Python3)の実行エイリアスのOFF

Windows設定>アプリ>アプリの詳細設定>アプリ実行エイリアス」をひらき、下記2点を「オフ」にする

ちょこっとメモ

アプリ実行エイリアス

  • UWPアプリなど(exe形式以外)の実行ファイルを、実行ファイル名で起動できるようにする。Windowsの仕組み。エリアス=別名

pythonインストール

]

1. pyenv 対応のPythonバージョンを確認

$ pyenv install -l | findstr 3.9

2. pythonインストール

※バージョンを半角スペースで区切ると複数インストールも可能。

$ pyenv install バージョン

インストール済みpython バージョン確認

※「*」:現環境のバージョン

$ pyenv versions

python バージョン変更

global:デフォルト

$ pyenv global バージョン

local:特定のプロジェクト(仮想環境)

$ pyenv local バージョン

python 特定バージョンアンインストール

$ pyenv uninstall バージョン

venv:Pythonの仮想環境とpyenv pythonバージョン変更

venv(仮想環境)作成時に使用したpythonのバージョンで固定され変更不可。

対策

pythonバージョンを変更して、venv(仮想環境)を再作成。