virtualenv,virtualenvwrapper安装及使用
1、安装
# 安装: (sudo) pip install virtualenv virtualenvwrapper # centos7下 pip install virtualenv virtualenvwrapper-win # windows下
2、配置
2.1 Linux/Mac OSX 下:
修改~/.bash_profile或其它环境变量相关文件(如 .bashrc 或用 ZSH 之后的 .zshrc),添加以下语句:
export WORKON_HOME=$HOME/.virtualenvs # 存储虚拟环境的目录可以任意命名,不一定就是.virtualenvs source /usr/local/bin/virtualenvwrapper.sh # 可以使用whereis virtualenvwrapper命令来查找sh文件的目录
修改后使之立即生效(也可以重启终端使之生效):
source ~/.bash_profile
2.2 Windows 下:
Windows下默认虚拟环境是放在用户名下面的Envs中的,与桌面,我的文档,下载等文件夹在一块的。更改方法:计算机,属性,高级系统设置,环境变量,添加WORKON_HOME。
3 、操作指令
3.1 virtualenv
virtualenv ENV # 当前目录下新建虚拟环境ENV virtualenv --system-site-packages ENV # 继承使用系统全局库地创建 virtualenv -p /usr/bin/python2.7 env # 指定python版本地创建,centos7下 virtualenv -p D:\install\anaconda\python.exe env # 指定python版本地创建,windows下 virtualenv --version # 查看virtualenv版本号
即在ENV目录创建了一个新的虚拟环境。
常用的参数有:
-p:指定一个版本python环境;通常当你的系统中安装了多个python版本时会用到;默认情况下virtualenv会优先选取它的宿主python环境,即它安装在那个python版本下就会默认选择哪个版本作为默认python隔离环境。
--no-site-packages:不使用系统环境的python安装包,即隔离包中不能使用真实python环境的安装包;当前版本这个选项是默认的。
--system-site-packages:与上面相反,使隔离环境能访问系统环境的python安装包
--distribute:copy一个python环境的分支,默认会安装setup、pip、wheel等基础模块
pip和setuptools已在虚拟环境中自动下载完毕,可以使用这些工具来下载python包。
linux下:
下载的python包置于ENV/lib/pythonX.X/site-packages中。
当前使用的python解释器为ENV/bin/python。
windows下:
下载的python包置于ENV\Lib\site-packages中。
当前使用的python解释器为ENV\Scripts\python.exe。
激活及退出虚拟环境:
#windows下: cd D:\myenvs # 进入虚拟环境目录 cd env\Scripts # 进入脚本目录 activate.bat # 激活虚拟环境 deactivate.bat # 退出虚拟环境 rm -r D:\myenvs\env # 删除虚拟环境,必须要先退出虚拟环境 #centos7下 source 虚拟环境目录/env/bin/activate # 在虚拟环境主目录,激活虚拟环境。 deactivate # 退出虚拟环境 rm -r /path/to/env # 删除虚拟环境,必须要先退出虚拟环境
3.2 virtualenvwrapper
mkvirtualenv 环境名:创建环境
workon:当前存在环境列表
workon 环境名:选择环境
rmvirtualenv 环境名:删除环境
mkproject mic:创建mic项目和运行环境mic
mktmpenv:创建临时运行环境
lsvirtualenv:列出可用的运行环境
cdvirtualenv:进入虚拟环境目录
cdsitepackages:进入虚拟环境的site-packages目录
lssitepackages: 列出当前环境安装了的包
deactivate:退出环境
4、一些运用
4.1 packages迁移
处在虚拟环境内:
pip freeze > requirements.txt # 环境迁出,txt文件可以任意命名 pip install -r requirements.txt # 环境迁入
4.2 引入opencv
# centos7下
cd 虚拟环境根目录/lib/python2.7/site-packages ln -sf /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
windows下:从本地site-packages文件夹复制cv2.pyd到虚拟环境的site-packages文件夹下
4.3 .pth文件引入模块
在虚拟环境根目录/lib/python2.7/site-packages下,新建.pth文件,添加需要调用的模块的路径即可