Python venv
如何使用 Python 的虚拟环境
创建虚拟环境
# 创建虚拟环境
python3 -m venv myenv
激活虚拟环境
# 激活虚拟环境
source myenv/bin/activate
安装依赖
# 安装依赖
pip install -r requirements.txt
退出虚拟环境
# 退出虚拟环境
deactivate
删除虚拟环境
# 删除虚拟环境
rm -rf myenv
Ubuntu 22.04 安裝 Python 3
正常安裝 Ubuntu 會內建 Python 3.10.12,但沒有 pip3 和 venv:
sudo apt install python3-pip python3-venv
python3 與 python 的問題
沒有啟動虛擬環境時,需要輸入 python3 才能正常呼叫。
# 虛擬環境啟動前
$ python -V
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3
$ python3 -V
Python 3.10.12
$ which python3
/usr/bin/python3
如果想要讓 python 與 python3 指向同一個版本, 可以安裝 python-is-python3:
sudo apt install python-is-python3
這種方法更簡單而且官方推薦,適合不熟悉符號連結操作的使用者。 也可以手動建立連結:
$ sudo ln -s /usr/bin/python3 /usr/bin/python
$ python -V
Python 3.10.12
安裝 pip3 時,會同時將 pip 與 pip3 連結到 python3:
# 虛擬環境啟動前
$ pip -V
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
$ pip3 -V
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
虛擬環境啟動後
當啟動虛擬環境時,python, python3, pip, pip3 就會指向虛擬環境的版本。
# 啟動虛擬環境
$ source ~/myenv/bin/activate
# 虛擬環境啟動後
$ which python
/home/jakeuj/myenv/bin/python
$ which python3
/home/jakeuj/myenv/bin/python
$ pip -V
pip 22.0.2 from /home/jakeuj/myenv/lib/python3.10/site-packages/pip (python 3.10)
$ pip3 -V
pip 22.0.2 from /home/jakeuj/myenv/lib/python3.10/site-packages/pip (python 3.10)
REF
Last modified: 02 July 2024