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 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
复制代码

~~

我是勤劳的搬运工!

猜你喜欢

转载自www.cnblogs.com/Miracle1/p/12027365.html