環境
私の環境は以下のとおりです。
OS
- Ubuntu 20.04.2 LTS (5.11.0-27-generic)
手順
まず、デフォルトでインストールされている Python を確認してみます。Python 2 はインストールされておらず、Python 3 のみインストールされていました。
$ which python
$ which python2
$ which python3
/usr/bin/python3
$ python3 -V
Python 3.8.10
なお、Python のドキュメントによると Python 3.5 以降の仮想環境は venv とのことです。pyvenv は Python 3.6 で非推奨となりました。
バージョン 3.6 で非推奨: Python 3.3 と 3.4 では、仮想環境の作成に推奨していたツールは pyvenv でしたが、Python 3.6では非推奨です。
バージョン 3.5 で変更: 仮想環境の作成には、 venv の使用をお勧めします。
https://docs.python.org/ja/3/library/venv.html
仮想環境を作成するには venv コマンドを実行します。そのためにまず python3-venv パッケージをインストールします。その後、仮想環境を作成します。私は、ホームディレクトリの下に python という名前のディレクトリを作成し、その下に dev という仮想環境を作成しています。
$ sudo apt install -y python3-venv
$ python3 -m venv ~/python/dev
その結果、下記のようなディレクトリ、ファイルが作成されました。
$ ls ~/python/dev
bin include lib lib64 pyvenv.cfg share
仮想環境を有効化してみます。ターミナルの先頭に仮想環境名 (ここでは dev) が付くようになります。
:~$ source ~/python/dev/bin/activate
(dev) :~$
python コマンド、python3 コマンド、pip コマンド、pip3 コマンドのパスとパージョンを確認してみます。仮想環境の python コマンドは 仮想環境の python3 コマンドのシンボリックリンクであり、仮想環境の python3 コマンドは /usr/bin/python3 のシンボリックリンクのようです。pip コマンド、pip3 コマンドは仮想環境内の実行ファイルのようです。
(dev) :~$ which python
/home/hirooka/python/dev/bin/python
(dev) :~$ which python3
/home/hirooka/python/dev/bin/python3
(dev) :~$ python -V
Python 3.8.10
(dev) :~$ python3 -V
Python 3.8.10
(dev) :~$ ls -al /home/hirooka/python/dev/bin/python
lrwxrwxrwx 1 hirooka hirooka 7 8月 18 20:20 /home/hirooka/python/dev/bin/python -> python3
(dev) :~$ ls -al /home/hirooka/python/dev/bin/python3
lrwxrwxrwx 1 hirooka hirooka 16 8月 18 20:20 /home/hirooka/python/dev/bin/python3 -> /usr/bin/python3
(dev) :~$ which pip
/home/hirooka/python/dev/bin/pip
(dev) :~$ which pip3
/home/hirooka/python/dev/bin/pip3
(dev) :~$ ls -al /home/hirooka/python/dev/bin/pip
-rwxrwxr-x 1 hirooka hirooka 241 8月 18 20:22 /home/hirooka/python/dev/bin/pip
(dev) :~$ ls -al /home/hirooka/python/dev/bin/pip3
-rwxrwxr-x 1 hirooka hirooka 241 8月 18 20:22 /home/hirooka/python/dev/bin/pip3