Pythonのバージョン切り替え環境を作成したかったので使ってみた。
なお、インスタンスはEC2のAmazon Linux2を使用している。
インストール
$ yum install python-virtualenv -y
$ yum install python37 -y
python3を入れるとpip3がインストールされる。
$ pip3 -V
pip 9.0.3 from /usr/lib/python3.7/site-packages (python 3.7)
virtualenvの起動と停止
起動
$ source env_dir/bin/activate
停止
$ deactivate
virtualenvの使い方
フォルダを作ってその環境ごとにモジュールをインストールする。
フォルダの作成
virtualenv
コマンドを使用。--pytyon
オプションを指定することでその環境で使用するpython言語のバージョンを指定できる。
※指定できるバージョンはシステムにインストールされているpythonバージョンだけ。
$ virtualenv --python=python3 env
仮想環境に切り替える。
$ source env/bin/activate
仮想環境では指定したバージョン、並びに、そのバージョンに対応したpip
コマンドが用意されている。
$ python -V
Python 3.7.4
$ which python
~/work/python/env/bin/python
$ pip -V
pip 9.0.1 from /home/ec2-user/work/python/env/lib/python3.7/site-packages (python 3.7)
$ which pip
~/work/python/env/bin/pip
試しにpipでモジュールをインストール
$ pip install requests
$ pip list
Package Version
---------- ----------
certifi 2019.11.28
chardet 3.0.4
idna 2.8
pip 9.0.1
requests 2.22.0
setuptools 28.8.0
urllib3 1.25.7
wheel 0.29.0
仮想環境を抜けるとrequests
モジュールがインストールされていないことを確認できる。
$ deactivate
$ pip3 list
Package Version
-------------- -------
beautifulsoup4 4.8.2
pip 9.0.3
setuptools 38.4.0
soupsieve 1.9.5
環境の削除
作成したフォルダを削除すれば良い。
$ rm -rf env/