python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm
1 引言
进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Django,十分不便。虚拟环境的出现可以很好的解决这一问题。
本篇博文主要绍Python的虚拟环境管理方法,包括virtualenv、virtualenvwrapper、pycharm等。需要说明的是,在使用前面提到的几种方法之前,必须确保系统中已经至少安装有一个Python版本。
2 virtualenv
(1 安装
virtualenv的安装与Python普通第三方包安装一样,都可以通过pip来安装:
pip install virtualenv

(2)创建虚拟环境
创建一个名为firstenv的虚拟环境:
virtualenv firstenv

上图中最后一行出现“done”的字样说明虚拟环境安装成功,此时,在当前文件夹会出现一个与刚新建的虚拟环境同名的文件夹:

在firstenv文件夹内部的有一个铭文Scripts的子文件夹,这个文件夹存放了Python环境必备的一些可执行文件:

看到这里你应该明白了,virtualenv所谓的虚拟环境就是在当前文件夹中以真实环境为模板,另外存储一套编译工具,实现与正式环境的隔离。
那么,刚新建号的环境该怎么使用呢?
(3)进入-退出虚拟环境
在进入虚拟环境前,需要在命令行中先进入上面提到的Scripts文件夹中,然后运行Scripts文件夹中的activate.bat这一批处理文件进入虚拟环境:
activate.bat
运行activate.bat文件后,命令行每一行前面都会出现虚拟环境标识,如下图所示,证明已经成功进入虚拟环境:

输入Python,查看一下虚拟环境版本:

刚装好的虚拟环境是非常干净的,验证一下:

果然没有任何其它的第三方包。如果要为接下来的开发必要的第三方包,可以使用pip命令,这与在正式环境中的操作时一样的,另外说明一下,因为已经进入了虚拟环境,使用pip安装第三方包时,命令行可以在任何目录在中:

那么,怎么退出这个虚拟环境呢?运行Scripts文件夹下deactivate.bat文件,不过,也可以不用回到Scripts文件夹中,直接运行deactivate.bat(后缀名可省略)即可。

可以看到,运行deactivate.bat后,每行开头的(firstenv)标识果然没了。
3 virtualenvwrapper
virtualenv每一次使用都需要进入到虚拟环境目录的Scripts文件夹中,然后才能运行activate.bat文件,进入虚拟环境。使用有些繁琐不说,如果创建的虚拟环境多一些的话,管理也有些麻烦,所以就有了virtualenvwrapper。
(1)安装virtualenvwrapper
与virtualenv一样,可以通过pip安装:
pip install virtualenvwrapper-win
(2)创建虚拟环境
创建一个名为secondenv的虚拟环境:
mkvirtualenv secondenv

运行上述命令后,在当前文件夹下可不会找到刚创建好的虚拟环境。通过云上面图片,发现virtualenvwrapper将虚拟环境安装在C:\Users\Administrator\Envs这一目录中,也就是说,virtualenvwrapper默认将虚拟环境同一安装到C:\Users\用户名\Envs这一目录中。

通过workon命令查看已经新建的虚拟环境列表:

可以看到,我们无论在哪个目录下,运行workon命令,都可以列出workon新建的所有虚拟环境。
不过美中不足的是,virtualenvwrapper将虚拟环境安装在了默认的文件夹中。那么,怎么virtualenvwrapper将虚拟环境同一安装到我们指定的目录中呢?那就要通过配置系统环境变量来实现了。
首先新建一个文件夹,专门弄用来存放virtualenvwrapper创建的虚拟环境,例如在D盘新建一个名为virtualenvs的文件夹。然后进行如下配置:
桌面“此电脑”图标->右键->属性->高级系统设置->高级->环境变量->新建系统变量,接下来如下图所示,变量名输入WORKON_HOME,变量值输入文件夹路径,即D:\virtualenvs,输入完成后点击确定,保存退出。

重新开一个命令行窗口(必须),再次新建虚拟环境:

查看一下当前新建好的虚拟环境列表:

发现只有一个thirdenv,为什么之前新建的secondenv没有列出来呢?因为secondenv在之前默认的文件路径中,workon只会列出当前指定的文件路径下的虚拟环境。
(3)进入-退出虚拟环境
细心地你一定已经发现,事实上,用mkvirtualenv命令新建虚拟环境的时候,会自动进入虚拟环境中。不过,如果我们要进入已经新建好的虚拟环境该怎么做呢?当workon命令不带任何参数时,作用是列出所有的虚拟环境;当workon命令后面接虚拟环境名时,作用便是进入指定的虚拟环境。另外,上文也提到过,相比于virtualenv,使用virtualenvwrapper的好处就是你可以在任意目录下进入已创建的虚拟环境中。例如,进入刚新建好的虚拟环境thirdenv中:
workon thirdenv

退出虚拟环境的方法倒是与virtualenv一样,采用deactivate这一命令:

最后总结一下virtualenvwrapper的几个常用命令:
新建虚拟环境:mkvirtualenv + 虚拟环境名
列出所有虚拟环境:workon
进入虚拟环境:workon + 虚拟环境名
退出虚拟环境:deactivate
4 pycharm
一般而言,直接使用上面介绍的virtualenv和virtualenvwrapper两种方法进行虚拟环境管理还是比较少的,大多数情况下还是配合IDE进行虚拟环境管理。毋庸置疑,pycharm是最好最流行的Python IDE,功能强大,方便实用。pycharm中也集成了虚拟环境管理功能。
我们使用pycharm新建一个Python项目,并在创建项目时建立虚拟环境:

点击右下角的Create之后,项目就创建好啦。
刚创建好项目虚拟环境可是干净得很,需要为项目安装各种依赖,也就是安装第三方包,怎么做呢?
按下面步骤一次打开:File->Settings->Project:studyenv->Project Interpreter,会弹出下面的窗口:

然后点击右上角的“+”号,出现下面的界面:

包管理主要也是在这个窗口中进行。

回到上一个窗口,我们可以看到包列表,里面确实多了一个Django:

Python进行编译时,pycharm会自动选用项目中的虚拟环境进行编译,所以pycharm中可没有进入和退出虚拟环境一说。怎么样,非常方便吧!
5 总结
合理利用虚拟环境,可以很好得解决同时开发多个项目时的环境问题。本文介绍了virtualenv、virtualenvwrapper、pycharm等3个虚拟环境管理工具,另外要说的是,除了这三个工具外,Annacon也是一个很强大的虚拟环境管理工具,Anaconda功能更加强大、多样,当然是用上也复杂一下,留待后续博文再来总结。
python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm的更多相关文章
- python 使用virtualenvrapper虚拟环境管理工具
centos 默认安装的python是2.6版本的 使用virtualenv 环境管理工具建立python虚拟环境的时候会遇到一些错误,DEPRECATION: Python 2.6 is no lo ...
- Python之Linux下的virtualenv&&virtualenvwrapper
virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境. #指定清华源下载pip的包 pip3 install -i https://pypi.tuna.tsinghua.edu.cn ...
- Ubuntu14.04安装pycharm用于Python开发环境部署,并且支持pycharm使用中文输入
一.目标 实现在Linux下用pycharm调试工具/Python开发 Linux使用vi/vim工具写Python,缺点:调试不方便,无代码提示.跳转等诸多功能. Windows使用idle/pyc ...
- 虚拟环境管理之virtualenvwrapper
上一篇写了下在linux上使用python的虚拟环境, 干脆把virtualenvwrapper也写一下 1.为什么要用virtualenvwrapper virtualenv 的一个最大的缺点就是: ...
- python 开发技巧(1)-- 用PyCharm安装第三方库
在python开发中,我们经常需要安装一些python的第三方类库,包等等,用PyCharm就会安装就会超级方便 1.打开上面的小扳手 2.点击页面左边的Project Interpreter 3.点 ...
- python开发环境的搭建,以及pycharm的安装
先到python 官网下载python. 下载好了之后,直接运行exe文件,进行安装(在安装程序运行后的第一个form上,点击next的时候,在next的左侧有一排文字和一个复选框,那个是添加环境变量 ...
- Python虚拟环境管理工具virtualenvwrapper安装及配置
1. 安装virtualenv 使用pip install virtualenv安装virtualenv虚拟环境工具 2. 安装virtualenvwrapper a) Linux环境,直接使用p ...
- python虚拟环境管理包virtualenvwrapper
1.打开cmd 2.安装virtualenvwrapper pip install virtualenvwrapper-win 3.配置虚拟环境的位置 新建系统变量默认在c盘 4.新建虚拟环境 mkv ...
- Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#
又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了req ...
随机推荐
- Confluence 6 目录中的数据库
所有的其他数据库,包括有页面,内容都存储在数据库中.如果你安装的 Confluence 是用于评估或者你选择使用的是 Embedded H2 Database 数据库.数据库有关的文件将会存储在 da ...
- Mysql哪些字段适合建立索引
数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特 ...
- Memcached简介及环境安装
Memcached简介及环境安装 author:SimpleWu 简介 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga ...
- 常用ajax样例
---恢复内容开始--- // url(String):请求地址 // param(String):请求参数 // targetId(String):结果显示id function ajaxReq(u ...
- C++ Primer 笔记——枚举类型
1.和类一样,每个枚举类型定义了一种新的类型.枚举属于字面值常量类型. 2.C++包含两种枚举:限定作用域的和不限定作用域的.C++11新标准引入了限定作用域的枚举类型. }; // 限定作用域的枚举 ...
- spring coud Feign常用配置
Ribbon配置 在Feign中配置Ribbon非常简单,直接在application.properties中配置即可,如: # 设置连接超时时间 ribbon.ConnectTimeout=500 ...
- servlet在地址栏填写参数
单个参数:以"?"开头+参数名+"="符号+参数值 例如 https://i.cnblogs.com/EditPosts.aspx?opt=1 多个参数:以&q ...
- k-近邻算法-优化约会网站的配对效果
KNN原理 1. 假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系. 2. 输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较. a. 计算新 ...
- android 如何调用 隐藏的 API 接口
怎样查看并且使用 Android 隐藏 API 和内部 APIhttps://www.jianshu.com/p/fbf45770ecc8 android 隐藏API显式调用以及内部资源使用方法htt ...
- C#学习-const和readonly
const是表示为常量的关键字,一旦赋值就不能改变了.是程序编译时候CLR就将const的值编译到IL代码中了. readonly也是常量的关键的字: 所以,有了这两个关键字的比较.readonly肯 ...