【備忘録】Python環境構築(pyenv-win+venv)
はじめに
新しいPCを購入した際に真っ先に行う、pythonの環境構築をまとめました。
- python本体のインストール
- pyenv-winで複数のバージョンを使用可能に
- venvで仮想環境作成
想定する読者
以下のような、主にプログラミング入門者くらいを想定しております。
- pythonの環境構築(2024/1月時点で動作するもの)を知りたい!
- windowsを使用していて、pyenvでの環境構築をしたい!
- venvとpyenvで任意のバージョンの仮想環境を作る方法を知りたい!
動作確認環境
PC情報
- OS:Windows 10 Home
- CPU:Inter(R) Core(TM) i5-3230M
- メモリ:4.00GB
pythonバージョン
- python:3.12.1
- pyenv-win:3.1.1
1. python本体のインストール
1.1 インストーラーのダウンロード
pythonの公式サイト(https://www.python.org/)からインストーラーをダウンロードします。
1.2 インストーラーを実行する
1.1でダウンロードしたexeファイルを実行(ダブルクリック)
下の「Add python.exe to PATH」にチェックを入れてから、【Install Now】をクリック
プログレスバー(緑色のやつ)が一番右に行くまで待ちます
「Setup was successfully」が表示されたら、【close】ボタンをクリックして閉じます
これでpython本体のインストールは完了です。
1.3 pythonを実行してみよう!
実際にpythonが実行できるか確認してみましょう。
「コマンドプロンプト」を使用するために、下の検索バーに「cmd」と入力し、検索結果に出てきた「コマンドプロンプトを開きます
黒い画面がでてきますが、大丈夫です!
よっぽど変な文字列を入力しない限り安全なので、落ち着きましょう。
>マークが表示されたら、「python」と入力し、Enterキーを押す
画像の例のように、「Python 3.12.1 ...」みたいなのが表示されて、>>>(入力待ち状態)になったらOKです
適当にプログラムに計算させてみましょう!
18782(いやなやつ)+18782=37564(皆殺し)になりました。 あってますね!
コマンドプロンプトは、右上の×マークで消してOKです
Tips:コマンドプロンプトを素早く開く時短術
コマンドプロンプトはよく使うので、下メニューに登録しておくと便利です!
コマンドプロンプトを起動 → アイコン上で右クリック → ピン止め でできます。
2. pyenv-winのインストール
pyenv-winは、いろんなバージョンのpythonを1つのPCで使い分けることができるものです。
pythonのライブラリの中には、最新バージョンだと動かないものなどもあります。
そういったものを使用するために、また別のバージョンのpythonを入れなおすのは結構大変なのです(PATHとかファイルの残骸とかで不具合の原因にもなりやすい)
そこで、pyenvの出番というわけです!
pyenvを使えば、複数のバージョン(例えば3.12.1と3.9.3など)をコマンドで切り替えて使い分けることができます。
2.1 pyenv-winの導入(pip)
pywnv-winはpythonライブラリなので、pipコマンドで導入可能です。
...とその前にpip, wheel, setuptoolsをupdateしておきます。
python -m pip install --upgrade pip wheel setuptools
では、本命のpyenv-winをpipでインストールします
今回は、targetコマンドを引数に追加して、関連ファイルの保存場所をユーザー直下に指定します。
python -m pip install pyenv-win --target %USERPROFILE%\.pyenv
正常にコマンドが動作すれば、ユーザー直下に「.pyenv」というフォルダが現れます
(エクスプローラーの設定によっては隠しファイルとして見えないかもですが...)
さて、これでpyenvコマンドを使用してみると、「コマンドが見つかりません」と怒られます...
コマンドプロンプトからpywnvコマンドを実行できるようにするため、システム環境変数を設定します
2.2 システム環境変数へ追加(power shell使用)
システム環境変数を手作業でいじるのは怖いため、power shell君に設定してもらいましょう。
下の検索メニューで「power shell」で検索、開く
以下のコマンドを実行します
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
実行しても何も変化はありませんが、エラーなければ大丈夫のはず...
2.3 コマンドプロンプトで実行
コマンドプロンプトを起動して、pyenvを実行してみます。
pyenv
実行すると、一度消えて、以下のような文字が表示されればOKです
これで、pyenv-winの導入完了です。
2.4 初期設定
左記に、初期設定だけ済ませちゃいます! 以下のコマンドを実行!
pyenv update
pyenv install 3.12.1
pyenv global 3.12.1
pyenv versions
各コマンドの解説
↓↓↓ pyenvで使用できるpythonのバージョンリストを更新する
pyenv update
↓↓↓ (pyenv用の)「python 3.12.1」を導入する
pyenv install 3.12.1
↓↓↓ pyenvでデフォルトで呼ぶpythonバージョンを、3.12.1に指定する
pyenv global 3.12.1
↓↓↓ ダウンロード済み(使用可能な)pythonバージョンの一覧を表示
pyenv versions
3. venvの導入(?)
最後にvenvの導入...と行きたいのですが、実はvenvはpython標準搭載のためすでに入ってます。
説明は公式ドキュメント参照(https://docs.python.org/ja/3.12/library/venv.html )
...というのも味気ないので、実際に仮想環境を作ってみましょう!
3.1 venvでの仮想環境作成
とりあえず、下記にある仮想環境作成までのコマンドを実行してください。
cd %USERPROFILE%
mkdir .venv
python -m venv test_venv
各コマンドの解説
↓↓↓ ユーザー直下のフォルダへ移動
cd %USERPROFILE%
↓↓↓ 「.venv」という名称のフォルダを新規作成
mkdir .venv
↓↓↓ 「.venv」へ移動
cd .venv
↓↓↓ 「test_venv」という名称で仮想環境を作成
python -m venv test_venv
以上、仮想環境作成までのコマンドでした
3.2 仮想環境の有効化
仮想環境を有効化(activate)してみましょう!
call %USERPROFILE%\.venv\test_venv\Scripts\activate
以下の画像のように左側に(test_env)と表示された状態になればOKです
4. 実践:任意のバージョンの仮想環境を作成する
実際に任意のpythonバージョンで仮想環境を作成する時には、以下の手順で行います。
- pyenvで作成したいバージョンに切り替える
- venvで仮想環境の作成
- 仮想環境に入った後、各種ライブラリを導入する
では、実際にやっていきましょう。
(以下、導入するバージョンは、3.9.3とします)
4.1 作成したいバージョンに切り替える
まず、pyenvで3.9.3に切り替えましょう
pyenv shell 3.9.3
3.9.3が入っていない場合
pyenvを使ってinstallします
pyenv update
pyenv install 3.9.3
念のため、PATHが切り替わっているか確認します
python -V
4.2 venvで仮想環境を作成する
.venvフォルダへ移動します
cd %USERPROFILE%\.venv
仮想環境を作成
python -m venv py393
仮想環境を有効化
%USERPROFILE%\.venv\py393\Scripts\activate
バージョンを確認する
python -V
キチンとpython3.9.3の環境が作成できてますね!
4.3 各種ライブラリの導入
仮想環境にライブラリを導入するのは簡単で、
仮想環境に入った状態でpip installすればOKです。
python -m pip install numpy
ちなみに、仮想環境にいれたライブラリは、pyenvで入れた方のバージョンには入りません
pyenvで切り替える方のpythonには何もライブラリを入れずに
各仮想環境内に入れることをお勧めします。
以上。
Discussion