linux下虚拟环境模块virtualenv及管理工具virtualenvwrapper的使用

关于虚拟环境的重要性这里就不多说了,这篇文章介绍一下linux中virtualenv以及virtualenvwrapper的使用。

virtualenv的安装与使用

使用前提示:注意,你的PATH变量,编译安装的python3一定要放在最前面!

使用步骤如下:

# 1.下载虚拟环境工具(这里是在物理环境下安装的)
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

# 2.使用命令,创建虚拟环境,分别运行一个django1和django2
# 进入一个统一管理的目录,管理虚拟环境例如/opt/allenv
# 创建一个统一的虚拟环境目录,便于管理
mkdir  /opt/allenv
# 进入这个目录
cd /opt/allenv 

#3.创建python3 的虚拟环境——venv1是虚拟环境的名字
virtualenv --no-site-packages --python=python3  venv1
'''
#参数解释        
--no-site-packages  不要任何的第三方包
--python 是指定一个解释器 我们选的是python3 # 前提是将python3的路径加在了环境变量了,也可以直接把python解释器的绝对路径加在这里
venv1是虚拟环境文件夹的名字,自定义
'''

#4.进入虚拟环境目录,激活虚拟环境
#source是linux的读取命令,读取一个脚本文件,激活虚拟环境
source /opt/allenv/venv1/bin/activate

#5.虚拟环境使用原理是,修改了PATH变量,根据pATH的优先级,使用解释器

#6.激活虚拟环境,在venv1下创建django2项目
注意~创建好虚拟环境后~我们就可以在这一片区域用pip安装这个环境需要的模块与包了

#7.再开一个窗口,创建venv2,用于创建django1的项目

#8.退出虚拟环境的命令 deactivate 

这里我用Xshell开了两个窗口,分别在两个虚拟环境中运行django1与django2的项目(请不要吐槽runserver  - -!)

~~另外,部署项目前记得关一下防火墙~

环境变量的变化

virtualenvwrapper的安装与使用

  virtualenv 的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的bin目录下source一下activate,这就需要我们记住每个虚拟环境所在的目录。

  但是实际中~再聪明的你也有可能你忘记了虚拟环境放在哪 0.0!

  一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。

安装virtualenvwrapper

pip3 install virtualenvwrapper

设置Linux的环境变量,每次启动就加载virtualenvwrapper

#系统变量配置文件是 /etc/profile~~这里我们配置在个人用户中  
#个人用户变量配置文件,在用户家目录下找到这个~/.bash_profile文件,写入如下配置
#打开文件,往里面写入变量
vim  ~/.bash_profile   

#设置virtualenv的统一管理目录
export WORKON_HOME=~/Envs  
#添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   

## 特别注意下面这两个目录是自己安装的python3 的目录~~这里默认指定的是py3的环境~如果想生成py2的虚拟环境需要用virtualenv单独配置了
#指定python解释器
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3    
#执行virtualenvwrapper安装脚本
source /usr/local/bin/virtualenvwrapper.sh 

最后记得执行source命令让配置生效:

source ~/.bash_profile 

基本使用virtualenvwrapper

#创建一个虚拟环境:
mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。

#在虚拟环境上工作:激活虚拟环境my_django115
workon my_django115


#再创建一个新的虚拟环境
mkvirtualenv my_django2

virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。

#workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1.15
workon django2.0

#也可以手动停止虚拟环境
deactivate

#删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115

常用其他命令

lsvirtualenv
列举所有的环境。
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages
和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages
显示 site-packages 目录中的内容。

完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

~~

 

posted on 2019-06-28 15:57  江湖乄夜雨  阅读(2371)  评论(0编辑  收藏  举报