python 虚拟环境

环境信息

  • Python 3.10

虚拟环境创建步骤

假定项目名为 project01 , 目录名为 project01

mkdir project01
cd project01
python3 -m venv .

以上命令会在目录 project01 中创建虚拟环境,查看当前目录,会产生以下目录和文件

$ ls
bin include lib lib64 pyvenv.cfg

观察 bin 目录的内容,里面有 python3pip3 等可执行文件,实际上是链接到 Python 系统目录的软链接。

$ ls -l bin/
total 36
-rw-r--r-- 1 root root 1991 Aug 16 17:35 activate
-rw-r--r-- 1 root root 917 Aug 16 17:35 activate.csh
-rw-r--r-- 1 root root 2059 Aug 16 17:35 activate.fish
-rw-r--r-- 1 root root 9033 Aug 16 17:35 Activate.ps1
-rwxr-xr-x 1 root root 234 Aug 16 17:35 pip
-rwxr-xr-x 1 root root 234 Aug 16 17:35 pip3
-rwxr-xr-x 1 root root 234 Aug 16 17:35 pip3.10
lrwxrwxrwx 1 root root 10 Aug 16 17:35 python -> python3.10
lrwxrwxrwx 1 root root 10 Aug 16 17:35 python3 -> python3.10
lrwxrwxrwx 1 root root 25 Aug 16 17:35 python3.10 -> /usr/local/bin/python3.10

Linux 环境使用以下命令激活虚拟环境

$ source bin/activate
(project01) [root@localhost project01]#

命令提示符变了,有个 (project01) 前缀,表示当前环境是一个名为 project01 的 Python 环境。
在此虚拟环境中安装包,都会被安装到 (project01) 环境下,具体目录为 project01/lib/python3.10/site-packages/ ,系统 Python 环境不受任何影响,也就是说, project01 这个环境是专门针对 project01 应用(项目)创建的,和系统 python 环境或其他应用互不影响。

要退出当前虚拟环境,可以执行以下命令

deactivate

退出虚拟环境后,再执行如 pip3 install 命令安装的包,会安装到系统 Python 环境。
完全可以针对每个应用创建独立的 Python 运行环境,这样就可以对每个应用的 Python 环境进行隔离。

如果不再使用某个 venv ,例如 project01 ,删除它也很简单。首先确认该 venv 没有处于 激活 状态,然后直接把整个目录 project01 删掉就行。