Python:虚拟环境virtualenv

tech2025-06-20  12

不同的python项目会依赖不同的包,同一台服务器的不同项目依赖之间或许有冲突。这时可以用python的虚拟环境。

每个虚拟环境都是独立的,不同虚拟环境下可以安装不同的包。这样让有依赖冲突的项目运行在不同的虚拟环境下,就可以互不影响。


安装virtualenv包:

pip install virtualenv

创建一个名称为venv1的虚拟环境:

virtualenv venv1

虚拟环境创建成功后,会在当前目录下生成一个venv1文件夹。

激活虚拟环境:

. venv1/bin/activate

虚拟环境激活后,就可以安装相关包和运行python程序了。这个环境中安装的包只在此环境下可见,不会对系统和其他虚拟环境造成影响。

激活虚拟环境会改变shell提示符,在提示符前加入虚拟环境的名称:

root@pc:~# . venv1/bin/activate (venv1) root@pc:~#

注:由于虚拟环境下python和pip等软件的版本都是固定和明确的,所以执行这些程序的时候不需要加版本号。如python3、pip3可以直接用python、pip命令代替。

退出虚拟环境:

deactivate

默认情况下,在系统中安装新包在虚拟环境中也是不可见的。但可以配置,进入虚拟环境文件夹,编辑配置文件:

vim ./pyvenv.cfg # 这句控制着虚拟环境激活时是否加载系统安装的包 include-system-site-packages = true

另外python3还自带venv模块,可以创建虚拟环境:

python3 -m venv venv2

Windows下激活虚拟环境:

cd venv2 Scripts\activate.bat

其他操作和上面virtualenv大同小异。

最新回复(0)