はじめに
はじめましてa-min3150です。エンジニアへの転職を目標に学習中です。
アウトプットのためEnvaderで学習したこと、ハマったことなどを書いていきたいと思います。
今回の学習内容
EnvaderでPythonの環境構築について学習したのでアウトプットします。
今回は第2回目でmacでのpyenv
を使ったPythonのバージョン管理についてです。
第1回(Pythonとは)はこちら
第3回(pipについて)はこちら
第4回(venvについて)はこちら
第5回(virtualenvについて)はこちら
第6回(requirements.txtの使い方)はこちら
第7回(git cloneの使いた)はこちら
前回までは・・・
前回は'''Homebrew'''を使ったPython3系のインストール方法とPythonの対話モードについて紹介をしました。
この方法では
Python「2系」の使うときはpython
python -V
Python 2.7.10
Python「3系」を使うときはpython3
python3 -V
Python 3.10.2
Pythonを「2系」か「3系」を使うかによってコマンドを変えなければなりません。
これは煩わしいのでpython
コマンドだけで指定したバージョンを動かせるようにしたのがpyenv
コマンドになります。
pyenvとは?
- pythonのバージョンを切り替えを簡単にしてくれるツールです。
- pythonの2系と3系を切り替えたり、ディレクトリごとにバージョンを切り替えることもできます。
pyenvのインストール
まずはpyenvのインストールを行います。今回はgitから持ってきてインストールします。
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
パスを通す
インストールしただけではパスは通らないので、パスを通していきましょう。
パスを通すにはbashrcを編集します
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
コピーして一つずつ実行していきましょう。
もしくは、vimを使用して直接書き込むこともできます。
$ vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)"
ご自身の環境で行ったときにエラーが起きた場合は eval "$(pyenv init --path)" としてください
最後にsourceコマンドで保存しましょう.
$ source ~/.bashrc
バージョンの確認
インストールできるPythonのバージョンの確認をしましょう。
pyenv install --list とすることでインストール可能なバージョンの一覧を表示することができます。
$ pyenv install --list
Available versions:
3.x.x
3.y.y
3.z.z
....
指定したバージョンのインストール
インストールをする時は pyenv installの後にPythonのバージョンを指定します。
$ pyenv install 3.x.x
$ pyenv install 3.y.y
pyenvでバージョンの切り替え
バージョンの切り替えを行います。バージョンの切り替え全体に反映される globalと現在いるディレクトリのみに反映される localの2種類があります。それぞれをlocalかglobalどちらかを指定し、バージョンを指定することでバージョンの切り替えを行うことができます。
-
global はシステム全体で使うバージョンを変えたいときに使用。
-
local はプロジェクトごとで違うバージョンを使いたいときに使用。
$ pyenv local 3.x.x
$ pyenv global 3.y.y
では切り替えができているか確認しましょう。 python --versionで現在いるディレクトリのバージョンを確認することができます。
$ python --version
# localなら
Python 3.x.x
# globalなら
Python 3.y.y
ちゃんと表示されているでしょうか。
または、 pyenv versionsコマンドで、バージョンが切り替わっているか確認しましょう。
$ pyenv versions
system
* 3.x.x
3.y.y
$ python --version
# localなら
Python 3.x.x
二つとも同じバージョンが指定されていたら切り替えができていることになります。
まとめ
今回は「macでPythonの環境構築しよう」をテーマにした第2回目でpyenv
について紹介しました。
pyenvの手順は4段階で
- gitでインストール
- bashrcを編集しパスを通す
- バージョンのインストール
- global、localでバージョンの切り替え
開発するときによく使うツールですので、簡単な使い方だけでも覚えておきましょう。
次回は「pip
コマンド」について解説します。
引用サイトなど
- Envader(エンベーダー):https://envader.plus/
- コース一覧:https://envader.plus/course
- Python環境構築コース:https://envader.plus/course/8
- 今回解説したコースシナリオ:https://envader.plus/course/8/scenario/1076