Windows中安装使用Virtualenv来创建独立Python环境


Posted in Python onMay 31, 2016

0、什么时候会用到virtualenv?
假设系统中的两个应用,其中A应用对库LibFoo的版本要求为1,而B应用对同一个库LibFoo的版本要求为2,两个应用对同一个库的要求想冲突了,而系统中库默认都安装到/usr/lib/python2.7/site-packages,那么如何能够同时使用这两个应用呢?
你的用户权限不够,使得无法将包安装到site-packages目录
需要使用一个应用,并且与系统其它应用相独立。
如果你遇到以上的问题,那么virtualenv会对你有帮助。virtualenv可以创建一个环境,拥有着自己的安装目录,而不会与系统的共享库或者其它virtualenv环境相干扰。

1、安装virtualenv
在安装virtualenv之前,我们需要安装至少有一个版本的Python;因为virtualenv是python的一个第三方模块,必须基于python环境才能安装;
如果你的python环境有pip,那么直接使用命令:

pip install virtualenv
安装即可;否则需要下载源码,然后使用命令:python install setup.py 来安装
安装之后需要新建virtualenv的独立环境,具体可以查看其帮助命令:
virtualenv -h
Windows中安装使用Virtualenv来创建独立Python环境

常用的参数有:
-p:指定一个版本python环境;通常当你的系统中安装了多个python版本时会用到;默认情况下virtualenv会优先选取它的宿主python环境,即它安装在那个python版本下就会默认选择哪个版本作为默认python隔离环境。
--no-site-packages:不使用系统环境的python安装包,即隔离包中不能使用真实python环境的安装包;当前版本这个选项是默认的。
--system-site-packages:与上面相反,使隔离环境能访问系统环境的python安装包
--distribute:copy一个python环境的分支,默认会安装setup、pip、wheel等基础模块

2、激活
安装完了之后就可以创建一个隔离环境了,使用命令:

virtualenv envname ##创建一个新的隔离环境 
cd envname 
Scripts\activate  ##激活并切换到virtualenv环境
3、使用
创建并激活virtualenv环境后我们就可以正常的方式来使用和安装python安装包及模块了。也可以直接切换到需要执行的python文件目录,使用python xxx.py来保证在隔离环境下执行python文件。
即:我们在需要使用virtualenv环境之前,只要先激活然后使用以往同样的方式来执行python操作、运行python文件即可

Windows中安装使用Virtualenv来创建独立Python环境

cd my_project_folder
virtual ENV
source bin/activate
deactivate

以上就是virtualenv的基本使用过程。首先,virtual ENV会在当前目录创建名为ENV的虚拟环境,此时在当前目录会自动生成三个目录:bin, include和lib。默认情况下创建的虚拟环境会依赖于系统中的site-packages,即系统中已经安装好的库在虚拟环境中仍然可以使用,如果想去除依赖,那么可以:

virtualenv --no-site-packages ENV
。通过source bin/activate可以启动当前目录下的虚拟环境。启动后,shell的提示符就会发生改变,表示进入了虚拟环境。使用deactivate离开虚拟环境。

4、集成到开发环境
当前在PyCharm中是支持virtualenv环境集成的,其它的IDE暂时未研究,集成也是很方便的:
(1)新建一个项目
(2)点击解释器栏的设置icon
(3)选择virtualenv
(4)可以新建也可以选择一个已有的virtualenv环境

Windows中安装使用Virtualenv来创建独立Python环境

配置到之后我们也可以在该项目中测试下,选择一个区别与系统环境的安装模块,查看下其版本是否正确,我这里因为有2个django版本,所以使用django模块来测试的,得到的是正确的结果。

Windows中安装使用Virtualenv来创建独立Python环境

Python 相关文章推荐
Python实现数据库并行读取和写入实例
Jun 09 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
python列表的增删改查实例代码
Jan 30 Python
python实现淘宝秒杀脚本
Jun 23 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
Python tkinter模版代码实例
Feb 05 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
通过python调用adb命令对App进行性能测试方式
Apr 23 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 Python
python 爬取天气网卫星图片
Jun 07 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 #Python
深入理解python中的浅拷贝和深拷贝
May 30 #Python
浅谈Python的文件类型
May 30 #Python
python中string模块各属性以及函数的用法介绍
May 30 #Python
Python 常用string函数详解
May 30 #Python
整理Python 常用string函数(收藏)
May 30 #Python
深入浅析python继承问题
May 29 #Python
You might like
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
npm qs模块使用详解
2020/02/07 Javascript
Python中random模块用法实例分析
2015/05/19 Python
Python文件及目录操作实例详解
2015/06/04 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
一些Solaris面试题
2015/12/22 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
毕业生的自我评价分享
2013/12/18 职场文书
初中英语课后反思
2014/04/25 职场文书
八项规定对照检查材料
2014/08/31 职场文书
2014年度党员自我评议
2014/09/13 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
远程教育学习心得体会
2016/01/23 职场文书
python前后端自定义分页器
2022/04/13 Python