目次
概要
色んなPythonプロジェクトを1つのマシン(PC)で開発したら、各プロジェクトで使うPythonのバージョンによって開発環境を構築する必要がある場合あります。
この時、毎回Pythonを消して該当プロジェクトに必要なPythonバージョンをインストールすることはでありえないです。今回のブログポストではpyenv
を使って1つのマシンで色んなPythonバージョンをインストールして管理する方法について調べてみます。
pyenvのインストール
次のコマンドを実行してpyenv
をインストールします。
- macOS:
brew install pyenv
- Windwos:
choco install pyenv-win
macOS
の場合、.zshrc
ファイルを開いて下記の内容を追加します。
# code ~/.zshrc
...
# pyenv setting
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
pyenv-virtualenvのインストール
pyenv-virtualenv
はpyenv
のプラグインでPythonの仮想環境を作れるように助けてくれるプラグインです。
- pyenv-virtualenv: https://github.com/pyenv/pyenv-virtualenv
そしたら、次のコマンドを実行してpyenv-virtualenv
をインストールします。
- macOS:
brew install pyenv-virtualenv
- Windows:
pip install pyenv-virtualenv
macOS
の場合、.zshrc
ファイルを開いて下記の内容を追加します。
# code ~/.zshrc
...
# pyenv-virtualenv setting
eval "$(pyenv virtualenv-init -)"
Pythonバージョンリスト
次のコマンドを実行してpyenv
でインストールできるPythonバージョンを確認します。 다음 명령어를 실행하여 pyenv
로 설치 가능한 Python 버전을 확인합니다.
pyenv install --list
そしたら下記のようにインストール可能なPythonのバージョンリストを確認することができます。
...
stackless-3.2.5
stackless-3.3.5
stackless-3.3.7
stackless-3.4-dev
stackless-3.4.2
stackless-3.4.7
stackless-3.5.4
stackless-3.7.5
Python 3.9.9のインストール
今回のブログポストではPython 3.9.9
バージョンをインストールしてみます。次のコマンドを実行してPython 3.9.9
バージョンをインストールします。
pyenv install 3.9.9
pyenv versions
インストールが終わったら、次のコマンドを実行してインストールされたPythonバージョンを確認します。
pyenv versions
そしたら次のように先ほどインストールしたPython 3.9.9
が確認できます。
* system (set by /.pyenv/version)
3.9.9
pyenv version
次のコマンドを実行して現在使ってるPythonバージョンを確認することができます。
pyenv version
そしたら次のように現在使っているバージョンが確認できます。
system (set by /Users/dev-yakuza/.pyenv/version)
インストールしたPythonバージョンを使う方法
次はpyenv
でインストールしたPythonバージョンを使う方法についてみてみます。次のコマンドを実行するとPython 3.9.9
をグローバル的に使うことができます。
pyenv global 3.9.9
次のコマンドを実行すると現在のプロジェクトのみ適用できます。
pyenv local 3.9.9
このコマンドは.python-version
ファイルを生成して開発環境でpyenv
がアクティブされた場合、自動で当該バージョンを使えるように変更してくれます。
次のコマンドを実行すると現在のshell
だけ当該バージョンを使えるようになります。
pyenv shell 3.9.9
Pythonの仮想環境を生成する
色んなプロジェクトが同じPythonバージョンを使うだが、インストールライブラリのバージョンが違う場合もあります。この場合、意図したバージョンのライブラリが使われなくなって問題が発生する可能性もあります。
この時、同じバージョンのPythonを使う使う各プロジェクト用の仮想環境を作って、その仮想環境の中で開発をするとこの問題を解決することができます。
それじゃpyenv-virtualenv
を使って仮想環境を作ってみましょう。次のコマンドを実行してPythonの仮想環境を生成します。
# pyenv virtualenv VERSION NAME
pyenv virtualenv 3.9.9 venv
生成が終わったら、次のコマンドを使ってPythonの仮想環境がうまく生成されたか確認します。
pyenv versions
そしたら、次のように仮想環境がうまく生成されたことが確認できます。
* system (set by /.pyenv/version)
3.9.9
3.9.9/envs/venv
venv
次は下記のコマンドを実行してpyenv-virtualenv
で生成した仮想環境をアクティブにします。
pyenv activate venv
その後、再び下記のコマンドを実行して仮想環境がアクティブされたか確認します。
pyenv versions
問題なければ、次のように仮想環境がうまくアクティブされたことが確認できます。
system
3.9.9
3.9.9/envs/venv
* venv (set by PYENV_VERSION environment variable)
仮想環境の上で全ての作業が終わったら、次のコマンドを実行して仮想環境を非アクティブさせることできます。
pyenv deactivate
再び下記のコマンドを実行して仮想環境がうまく非アクティブされたか確認してみます。
pyenv versions
そしたら、次のように仮想環境が非アクティブされたことが確認できます。
* system (set by /.pyenv/version)
3.9.9
3.9.9/envs/venv
venv
.python-versionファイル
上でpyenv local
コマンドを実行すると自動で.python-version
ファイルが生成されることを確認しました。このファイルはpyenv
を使う開発環境なら自動でPython
のバージョンを変更してくれます。もし、該当するPythonのバージョンがない場合、次のコマンドを実行して.python-version
に作成されたPythonのバージョンをインストールすることができます。
pyenv install
なので、この.python-version
ファイルを使って当該プロジェクトを実行するためのPythonのバージョンを共有することができます。もし、現在のプロジェクトの.python-version
ファイルがない場合、.python-version
ファイルを作って次のように当該プロジェクトで必要なPythonのバージョンを作成します。
3.9.9
Pythonのバージョンを削除する
マシンでもう使わないPythonのバージョンやPythonの仮想環境がある場合、次のコマンドを使ってそのバージョン(仮想環境)を削除することができます。 머신에서 더이상 사용하지 않는 Python 버전이나 Python 가상 환경이 있는 경우, 다음 명령어를 사용하여 해당 버전(가상 환경)을 제거할 수 잇습니다.
pyenv uninstall 3.9.9
# pyenv uninstall venv
完了
これでpyenv
を使って同じマシンで色んなPythonのバージョンを使う方法についてみてみました。また、pyenv-virtualenv
プラグインを使ってPythonの仮想環境を作る方法についてもみてみました。もし、皆さんも色んなPythonのバージョンの開発環境が必要な場合pyenv
を使ってバージョン管理してみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。