virtualenvはpythonの仮想環境を作成、管理できるソフトウェア。

これを用いることで異なるバージョンのpythonと、そのライブラリを別々に管理できる。

python自体のバージョンを変更するときにつまずいたので備忘録

インストール

何も難しいことはなく、pipからインストールできる

pip install virtualenv

pipを使っているので、そのバージョンに紐付いているpythonでしか起動できないのか?とか思ったがそれも大丈夫

目的バージョンのpythonをインストール

virtualenvでpythonのバージョンを選択するためには、まずそれをシステムにインストールしておく必要があるため、

非公式にUbuntuのPythonパッケージをメンテナンスしているdeadsnakesのリポジトリを入れる。

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

あとは、python3.6のようにバージョンを指定してインストールする。

sudo apt-get install python3.6

完了したら、python3.6 –versionなどとコマンドを打って一応確かめる。

aaa@aaa:~$ python3.6 --version
Python 3.6.12

OK

virtualenv仮想環境の作成

仮想化するバージョンの、python実行コマンドを-pオプションに続けて入力する。

先程はpython3.6をインストールしたので、virtualenv -p python3.6 [任意の名前]となる。

virtualenv -p python3.6 hoge

システムに存在しないpython実行コマンドを指定した場合、以下のエラーが出る。もう一度前項からやり直すべし

$ virtualenv -p python9.9 hoge
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python9.9'

起動

以下コマンドで仮想環境が開く。

source hoge/bin/activate

閉じるときはこう。

deactivate

ちなみにpython2.xでも仮想環境を作成、起動することができた。これは便利。