概要
複数のpythonバージョンやAnaconda環境を管理可能なツール pyenv と
プロジェクト毎に使用するpythonライブラリを管理可能なpythonライブラリ pipenv🐍
2019年末の現在、この2つの組み合わせはベストかどうかは知りませんがそこそこ使える組み合わせと思われます😊
今回はこの便利なpyenvとpipenvをWSLではない素のWindowsに導入していきたいと思います。
pyenvとpipenvをMacやLinuxで導入する場合は
pipenv側がpyenvを自動で検出して連携を取ってくれるので導入に大きく手間取ることはありません👌
(WSLはちょっと微妙でしたが、、、😒)
非WSLのWindowsは公式pyenvが対応していない事もあり、やや手間がかかります😡
環境
- Windows10 1909
- pyenv-win 1.2.4
- python 3.8.0
- pipenv 2018.11.26
[手順1] pyenv(pyenv-win)導入
公式のpyenvはwindowsに対応していません😱
そのため、今回は3rdパーティーのツールpyenv-winを利用します。
このツール、本家pyenvと異なりanacondaの管理はできませんが
pythonだけなら同じ感覚で管理可能です。
基本的には公式に書かれている手順に
沿って導入していきます。
[手順1-1]リポジトリクローン
まず、linuxのpyenvと同じようにホームディレクトリ(デフォルトはC:\User\ユーザー名\
)の配下に.pyenvフォルダにコピーします。
git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%/.pyenv
(git未導入場合はリポジトリをダウンロードして配置しましょう)
※ 後で環境変数でこの場所を指定するので、必ずしもこの場所でなくてもいいかも(未確認)
[手順1-2]環境変数設定
Linuxではこれで終わりですが、Windowsでは追加で環境変数の設定が必要です。
まず、クローン下フォルダパスをユーザー環境変数PYENV
を設定します。
続いてPAH
にshims
とbin
フォルダを追加します。
ここで注意なのが、これらの設定を~Microsoft\WindowsApps
よりも上位に設定すること。
もし下位に設定した場合はWindows側がpythonがないとみなしてMicrosoft storeのpythonを進めてくるという邪魔な気遣いをしてきます🤪
うまく設定できればコマンドプロンプトやpowershell上でpyenvコマンドが打てるようになります。
pyenvの初期設定はこちらあたりを参考に行ってください
[手順2] pipenv導入
続いてpipenvの導入ですが、今回公式なpyenvではなく3rdパーティーのツールを使ってしまっているため、
pip install pipenv
でpipenvをインストールしてもpipenvコマンドが認識されません😱
pyenvのコマンド置き場であるshimsフォルダを見てみるとLinuxでは生成されていたpipenvへリンクするスクリプトが
Windows側では案の定置かれていません😨
とはいえ、Linux側のShimsフォルダのpipスクリプトファイルとpipenvファイルを比較してみると中身が完全に一致します。
ファイル名のコマンドを実環境で探しに行って実行するだけなので中身が一致しているわけです。
というわけで対策といてはpipenvと中身が同じリンクファイルを確認した上で、
Windows環境側で同ファイルをコピペしてpipenvにリネームするだけです。
pip → pipenv
pip.bat → pipenv.bat
正しく設定できていればコマンドプロンプトやpowershellからpipenvを認識できます😁
まとめ
WSLではないWindows環境にpyenv(3rdパーティー製のwindows版)とpipenvを導入しました