<目次>
(1) pyenvのインストール手順(Windows10の例)
(1-1) pyenvとは?
(1-2) pyenvのインストール手順
(1) pyenvのインストール手順(Windows10の例)
(1-1) pyenvとは?
●pyenvの概要
・複数のPython環境を持ち、それのスムーズな切替えを実現するコマンドラインツールです。
・特定のフォルダに対して、特定のPythonバージョンを適用するなど、繊細なバージョン管理が可能
●System Pythonとの違いは?
「System Python」はいわゆるOSにインストールされたPythonで「python XXX」のようなコマンドで操作しているものです。パッケージ導入時は「sudo pip install XXX」のようにパッケージをインストールしますが、これはユーザーが増えて様々なバージョンのパッケージで試したい、となった時に非常に問題になってきます(同じパッケージが複数バージョンあると、意図しない挙動に繋がる可能性がある。特に依存性などでぐちゃぐちゃになるケースあり)。
あとは、Linuxのパッケージ管理ツールである「yum」では内部的にPythonを多用しているため、Pythonのバージョンが変わると影響が出る可能性もあり、「System Python」よりもpyenvを使った方が良いという例になります。
(1-2) pyenvのインストール手順
●STEP1:pyenvの資源ダウンロード
・①下記GitHubページにアクセスして「Code」を押下
(図111①)
↓
・②「Download Zip」を押下
(図111②)
↓
・③zipファイルを解凍(「すべて展開」や「7-Zip」等で解凍)
(図111③)
↓
(図111④)
●STEP2:pyenv用のディレクトリ作成
・①Powershellで下記のコマンドを実行して、ユーザーフォルダ配下(C:\Users\[ユーザー名])に「.pyenv」ディレクトリを作成します。「$HOME」はユーザーフォルダの環境変数です。
> mkdir $HOME/.pyenv
(図112①)
↓
(図112②)
↓
(図112③)
●STEP3:先ほど解凍した資源のうち「pyenv-win」フォルダと「.version」ファイルを、作成した「.pyenv」フォルダに移動させます。
(図113①)
↓
・移動完了
(図113②)
これで資源的には配置が完了したものの、pyenvを認識するためにはコマンドラインからあと少し設定を追加で行う必要があります。
●STEP4:環境変数の設定
・①下記2つのコマンドを実行し、2つの環境変数(「PYENV」と「PYENV_HOME」)を先ほどのディレクトリを指すように設定します。
(コマンド)
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
(図114①)
↓
・②環境変数が追加された事を確認
(図114②)
↓
・③「PATH」環境変数を更新
OSのシェルからpyenvが認識できて、コマンドラインからも「pyenv XXX」のような形でコマンドを利用出来るようにPATH変数を追加します。
(コマンド)
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
(図115①)
↓
・「pyenv」関連の環境変数が追加されています。
(図115②)
●STEP5:スクリプト実行の許可
管理者権限でPowershellを開き、スクリプトの実行を許可します。
・①管理者権限でPowershellを開きます。
(図116①)
↓
・②下記のコマンドを実行して、実行ポリシーを変更します。
> Set-ExecutionPolicy unrestricted
(図116②)
↓
・③「実行ポリシーを変更しますか?」で「A」を押下(「すべて続行」で特定スクリプトに限定せず全てを実行可能にする)
(図116③)
●STEP6:毎回警告が出ないよう「pyenv.ps1」を「Unblock-File」で非ブロックにする
「pyenv.ps1」はpyenvの裏で実行されるスクリプトです。何もしないと毎回実行時に下記のような警告が出ますが、これをブロックの対象外にして、警告が出ないようにします。
(図117①)
↓
・①下記コマンドでブロック対象外に変更します。
> Unblock-File $HOME/.pyenv/pyenv-win/bin/pyenv.ps1
(図117②)
↓
(図117③)