Windowsでもバージョン管理がしたい!
誰でも思いつく方法かもしれませんが、一度Pythonのバージョンを、仮想環境用のバージョンに戻して仮想環境を作成し、もとに戻すという方法です。
仮想環境で検索すると、pyenvが出てきて余計混乱してしまった経験と、venvで昔のバージョンのPythonの仮想環境構築をする方法が分からなかったことから、この記事を作りました。
「AnacondaのAnaconda Navigatorを使えば良いじゃないか」と思われる人が多いと思いますが、僕のanaconda環境では、jupyterを起動すると「_Contextvarsフォルダ」が無いというエラーが発生し、どれだけ調べても解決方法が出てこなかったので、今回紹介する方法(Anacondaを使わない方法)でマイナーバージョンを管理することにしました。
経緯
筆者がいつも使用しているPCにインストールされたpythonは、バージョンが3.8.1であった。しかし、実務作業を始めるにあたり、バージョン3.6.6の仮想環境構築が必要になった。
py -3 <実行したいこと>
で、python3系と
py -2 <実行したいこと>
で、python2系のバージョン管理が出来ることは知っていた。
しかし、上記の様に、3.6や3.8といったマイナーバージョンの管理までは、(筆者が調べる限り)pyenvを使うほかなかった。
そこで、WSLを用い、pyenvでバージョン管理してみたが、Ubuntsの起動が面倒だった。また、筆者が愛用しているIDE:Pycharmでpyenvによって管理されたPythonを使うには、デーモンサーバへのssh接続確保をUbunts起動の度に行う等、やはり工程が多かった(参考:PyCharm + WSLを導入したWindows10でのDjango開発)
なるべく面倒な操作無しで、かつ簡単にpythonのバージョン管理が出来ないか考えた。
方法
Python3.8と3.6のダウンロード
説明は省きます。少なくとも3.8と3.6なら一緒にインストールしてしまって問題は無かったです。2回目にインストールするバージョンは、pathを通す設定がoffになっていることをキチンと確認してください。
Python3.6でvenvする
1:Pathを仮想環境構築したいバージョンに変える
スタートボタン
↓
「システムの詳細設定の表示」で検索、実行
↓
環境変数(N...)
↓
上の欄(ユーザー環境変数)のPathをダブルクリック
↓
pythonのデフォルトのインストール先(筆者の場合は以下)である、
C:\Users\{{ユーザー名}}\AppData\Local\Programs\Python\Python38\Scripts\
と
C:\Users\{{ユーザー名}}\AppData\Local\Programs\Python\Python38\
がpathに入っていると思うので、このPython38
をPython<構築したい仮想環境のバージョン>
に変える。私の場合は、Python36
に変えた。
↓
決定連打
2:venvで仮想環境構築
一応コマンドプロンプトでPython
と入力。バージョン確認して合ってることを確認
↓
cd <目的のPath>
で、仮想環境構築したい場所へ移動
↓
Python -m venv <仮想環境名>
で仮想環境作成
↓
仮想環境名/Scripts/activate
で仮想環境起動、確認してください
3:Pathを戻す
省略します。1と同じ方法でpathを編集し、自分の使いたいバージョンに戻してください。
Pycharmを使ってる人向け
File
↓
Settings
↓
Project Interpreter
から、プロジェクトのインタープリターのパスを、構築した仮想環境のパスにすると、そのプロジェクト起動時に、自動的にその仮想環境にアクセスしてくれます。
こうしてプロジェクトごとにインタープリターを設定すれば、よりマイナーバージョン管理が楽になると思うので、Pycharmを使っている人はぜひ設定してみてください。