インストール
python3 (python 3.10) はインストールされているものとして、下記をインストールします。
sudo apt install python3-dev python3-pip python3-venv
解説
venv はPythonの仮想環境と言われています。
私は、これをインストールされたPythonパッケージの組み合わせが異なる環境を仮想的に作成できる、という意味だと理解しています。
私は最初、どういう意味なのかがわかりませんでしたが、下記を実行してみることで意味がわかりました。
例えば、下記のリストのパッケージがインストールされている場合です。
$ pip3 list Package Version ---------------------- ------------- blinker 1.4 command-not-found 0.3 cryptography 3.4.8 dbus-python 1.2.18 distro 1.7.0 distro-info 1.1+ubuntu0.1 httplib2 0.20.2 importlib-metadata 4.6.4 jeepney 0.7.1 keyring 23.5.0 launchpadlib 1.10.16 lazr.restfulclient 0.14.4 lazr.uri 1.0.6 more-itertools 8.10.0 netifaces 0.11.0 oauthlib 3.2.0 pip 22.0.2 PyGObject 3.42.1 PyJWT 2.3.0 pyparsing 2.4.7 python-apt 2.4.0+ubuntu2 PyYAML 5.4.1 SecretStorage 3.3.1 setuptools 59.6.0 six 1.16.0 systemd-python 234 ubuntu-advantage-tools 8001 ufw 0.36.1 unattended-upgrades 0.1 wadllib 1.3.6 wheel 0.37.1 zipp 1.0.0
./env 以下に環境情報が作成されます。
python3 -m venv ./venv
下記コマンドで venv をアクティベートします。
. venv/bin/activate
venv 環境に入った状態で再度インストールされているパッケージを確認すると、最低限のパッケージしか入っていない状態になっていることがわかります。
(venv):~$ pip3 list Package Version ---------- ------- pip 22.0.2 setuptools 59.6.0
この状態から任意のパッケージをインストールすることで、特定の用途向けの環境を作成することができるというわけです。