不同的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 venv2Windows下激活虚拟环境:
cd venv2 Scripts\activate.bat其他操作和上面virtualenv大同小异。