みなさん、こんにちは!
自分のブログ記事の中で、pyenvとvirtual envを当たり前のように使っていて。
pythonのversion&実行環境の切り替えについて、きちんとわかりやすくまとめていないな。
と、ふと思ったので、今回わかりやすく記載しておきます。
Pythonでversionを切り替えるには?
pythonのversionを切り替えるには、pyenvというツールを使います。
複数のpythonのversionを1つのホスト環境にインストールしておき、いつでも切り替えることが可能です。
Pythonの環境を切り替えるには?
virtual envに関しては、どこかで書いたような記憶があるのですが。。
virtual envは、python実行環境を切り替えることができるツールです。
例えば、pip installでソフトウェア開発するために、あるライブラリをインストールしたとします。
次に別のソフトウェアを開発しようとなった時に、すでにほかのライブラリがインストールされた環境で開発を進めるのはよくないことですよね。
すでにインストールしてあるものが原因で、正しく動作しない可能性もありますから。
なので、ソフトウェアを開発するごとに別環境を用意することが必要です。
virtual envで仮想環境を作成しておけば、その環境でなにをインストールしてもOKです。
そのようなこともあり、普通にvirtual envは使います。
python実行環境の作成・削除・切り替えも簡単にできるので、非常に便利なものです。
pyenvのインストール方法
※centos7で作業してます。
gitからクローンしてくる。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
ログイン時に、pyenvコマンドが使用できるように、設定を.bash_profile
に追記しておく。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile # -> ※これは動作しなくなっている模様(2021/06/07確認)。
実際に、.bash_profile
を反映し動作確認してみる。
$ source ~/.bash_profile
※追記(2021/06/18)
以下でないとbash_profile読み込み時にエラーがでるようです。
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
pyenvでのpython設定方法
インストール可能なpythonのversionを確認する。
$ pyenv install --list
好きなpythonのversionをインストールしてみる。
$ pyenv install 2.7.18
$ pyenv install 3.8.3
インストール済みのpythonのversionを確認する。
$ pyenv versions
system
2.7.18
* 3.8.3 (set by /home/vagrant/.pyenv/version)
現状いるディレクトリでのみpythonのversionを変更する場合、
$ pyenv local 3.8.3
全体のディレクトリで変更したい場合、
$ pyenv global 3.8.3
virtual envで仮想環境の作成方法
python 3.Xでのvirtual envの使い方を書いておきます。
適当なディレクトリで仮想環境(virtual env)用のディレクトリを作成します。
ここでは、`python_env`いかに作成してます。
$ pwd
/home/vagrant/python_env
$ python -m venv test_env
上のコマンドをたたくと、test_envというディレクトリが作成されているので、それを使用します。
以下コマンドで使用したい環境をアクティブにします。
$ source test_env/bin/activate
(test_env) $
上のように、コマンド実行後、コマンドプロンプトの先頭に環境名が追加されます。
仮想環境から抜けたいときは、以下コマンドで抜けれます。
(test_env) $ deactivate
これで、環境を何個でも好きなだけ作成して開発・テストできますね。
以上です!