阅读目录
关于虚拟环境的重要性这里就不多说了,这篇文章介绍一下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
~~
我是勤劳的搬运工!