virtualenv
系统的python3或python2版本只有一个,所有的第三方包都安装在site-packages目录下。
假设project A需要使用django2.x,project B需要使用django3.x。这时就需要为每个project创建独立的环境,达到“隔离”的效果。
virtualenv就是创建独立运行环境的工具。
安装
pip install virtualenv
# 如果提示:permission denied ,sudo pip install virtualenv
使用
# 创建一个目录用于存放project
mkdir venv-demo
cd venv-demo
# 创建虚拟环境
virtualenv my_venv
# 激活虚拟环境
source my_venv/bin/activate
# 激活成功后,路径前会有前缀(my_venv)
# 停用虚拟环境,注意路径前面已经没有(my_venv)
# deactivate
virtualenv提供的功能有限,主要缺点如下:
-
无法通过pip来升级
-
无法为任意安装的版本创建虚拟环境并自动发现他们
virtualenvwrapper应运而生,它是一系列virtualenv工具扩展,这些扩展包括创建和删除虚拟环境,以及管理开发工作流。
从而使一次处理多个项目变的更加容易且不会引起冲突。
virtualenvwrapper
安装
pip install virtualenvwrapper
配置与使用
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
# 创建虚拟环境envw
mkvirtualenv envw
# 创建虚拟环境envw1
mkvirtualenv envw1
使用workon命令不仅能进入到环境中,还可以从一个环境切换到另一个环境中去
workon envw
# 进入成功后路径的前缀会有前缀(envw)
使用lssitepackages命令查看新的包
lssitepackages
# 环境envw中使用workon命令切换到envw1中
workon envw1
退出虚拟环境
deactivate