virtualenv对python
使用virtualenv对python进行多版本隔离
最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为《机器学习实战》那本书的缘故,用的是python2.7.所以目前的情况是要两个版本共存,之前看到身边有人为了解决这个问题,居然装了两款软件,pycharm用来做python2.7的开发,另一款用来做python3.6的开发,估计一定是不知道python的虚拟环境工具virtualenv.本文就来讲述一下这个工具是怎么用的,同时也讲一下,如何在pycharm中使用virtualenv.
1. virtualenv的安装
virtualenv的安装和其它python上的软件安装一样,有两种方法,pip 和setup方法安装。
值得注意的是,我们说virutalenv的安装是为了解决多版本python共存的问题,暗含了,你的至少有一个python版本是已经存在,并且可以正常工作的。
我这里的主环境是python2.7

1.1 pip安装virtualenv
pip install virtualenv
当然了,卸载就是:pip uninstall virtualenv.
如果pip没有安装的话,可以看下面的第二种安装virtualenv的方法,顺带将pip也安装了。
1.2 源码安装virtualenv
在virtualenv的官网下载最新的tar.gz包:https://pypi.python.org/pypi/virtualenv/15.1.0#downloads

将tar.gz包解压后,目录切换到virutualenv的目录下,然后在执行一下命令:
c:\virtualenv-15.1.0>python setup.py install
如果pip没有安装,就按照上面方法,下载最新pip的tar.gz包安装即可。
2. 用virtualenv配置python虚拟环境
说到用virtualenv配置python的虚拟环境,其实就是将某个特定项目(或者说目录下)配置成某个python版本。
如下:

现在要将c:\PythonProj\sjtu-cs 这个项目(我认为说成目录更准确些)配置成python3.6的版本,因为这个目录下全部是python3.5的东西,用python2.7去运行显然是有问题的。也就是说要用virtualenv去创建python3.6.1的虚拟环境。值得一提的是,虚拟什么版本的python,一定是这个python提前已经装好了。
首先:准备对哪个目录进行虚拟,就先进入到这个目录下(这里是c:\PythonProj\sjtu-cs ),然后运行命令:
virtualenv -p c:\Python36\python.exe HigEnv

说明: -p就是python的版本(需要带上路径,这是因为在我们的环境变量里只有python2.7) HigEnv就是虚拟的环境变量。
如果不知道virtual,可以执行下面的命令进行查看:


上面都解释的很清楚,这里不再赘述。
我们看一下现在我们配置的是否生效了:

显然没有生效,因为需要激活。
3. 激活虚拟环境变量
c:\PythonProj\sjtu-cs>cd HigEnv/Scripts c:\PythonProj\sjtu-cs\HigEnv\Scripts>activate

验证一下:
>>> python "hello ,world"
python3和python2最明显的一个区别就是print由打印语句变成函数了。

退出激活环境用下面的命令:
(HigEnv) c:\PythonProj\sjtu-cs\HigEnv\Scripts>deactivate

值得注意的是,退出终端,重新进来的时候,如果没有激活,我们配置的虚拟环境是不会生效的,linux就不一样了,一直生效,不用每次都激活,目前还在研究中。

4. 在pycharm中使用virtualenv
pycharm开发工具是我目前见过最好的python开发工具,非常强大,本身已经集成了virtualenv工具,所以我们如果用它做开发,根本无需手工安装virtualenv,
不过话又说回来,在windows下的virtualenv使用方法和linux大同小异,会了windows,linux一通百通。
4.1 新建项目,自由选择python版本
当导入已有项目时,pychar会自动选择相匹配的python版本,当然你也可以选,方法在后面。另外python2和python3分别向下兼容,你不会除了这两个版本还有其余版本吧。


4.2. 在pycharm中创建virtualenv的虚拟环境:



当然了,你也可以不用创建环境变量,直接选择你需要的就可以了:
打开你需要选择python版本的项目,然后直接选择需要的project interpreter.

OK!
virtualenv对python的更多相关文章
- Virtualenv: 一个Python环境管理工具(windown版本)
1.安装virtualenv 在安装virtualenv之前,我们需要安装至少有一个版本的python:因为virtualenv是python的一个第三方模块,必须基于python环境才能安装: 如果 ...
- linux下virtualenv的python版本
virtualenv是python开发中一个重要的工具,它可以帮助我们创建一个干净的python解释环境,创建虚拟环境时,这个虚拟环境的 python版本往往是系统默认的2.x版本.别急,我们只需要一 ...
- 使用virtualenv隔离python环境
使用virtualenv隔离python环境 | 爱积累爱分享 使用virtualenv隔离python环境 iitshare 分类:Python | 标签:pythonenv, virtualenv ...
- windows环境下使用virtualenv对python进行多版本隔离
最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为<机器学习实战>那本书的缘故,用的是python2.7.所以目前的情况是要两个 ...
- Ubuntu下基于Virtualenv构建Python开发环境
1.安装virtualenv并建立虚拟环境 1).更新pip版本 sudo pip install --upgrade pip 如果出现如下异常: File , in <module> f ...
- [转]windows环境下使用virtualenv对python进行多版本隔离
windows环境下使用virtualenv对python进行多版本隔离 最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为<机器学习 ...
- centos 6.5使用virtualenv指定python 2.7.x
1. 使用现有的 python 2.6.x 安装pip rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8. ...
- windows下使用virtualenv对python进行多版本隔离开发
1.windows下安装virtualenv pip install virtualenv 2.进入项目目录,创建虚拟环境,例如: virtualenv venv (默认python版本) virtu ...
- Sublime Text3 以及 SublimeREPL使用Virtualenv执行python
1. SublimeText3 安装Virtualenv插件(Crtl+Shift+P) 2. 新建python虚拟环境: Crtl+Shift+P,选中Virtualenv:New选项,在底部Vir ...
随机推荐
- ProgressBar-style属性分析
首先我们看下framework下关于进度条的style定义,如下 <style name="Widget.ProgressBar"> <item name=&qu ...
- Elasticsearch和MongoDB
Elasticsearch和MongoDB分片及高可用对比 本文旨在对比Elasticsearch和MongoDB高可用和分片的实现机制. Elasticsearch ES天生就是分布式的,那她又是如 ...
- [D3] Animate Transitions in D3 v4
D3 makes it easy to add meaningful animations to your data visualizations. Whether it’s fading in ne ...
- 算法中的优化问题(optimization problem)
和多数算法不同的是,有些问题的答案不只一个,而是需要在多个答案中,按照一定标准选出"最佳"答案,这类问题就统称为"优化问题"(optimization prob ...
- [Angular2 Router] Configure Auxiliary Routes in the Angular 2 Router - What is the Difference Towards a Primary Route?
In this tutorial we are going to learn how we can can configure redirects in the angular 2 router co ...
- 《从零開始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式
原创文章,欢迎转载.转载请注明:关东升的博客 什么是设计模式.设计模式是在特定场景下对特定问题的解决方式.这些解决方式是经过重复论证和測试总结出来的. 实际上.除了软件设计,设计模式也被广泛应用于其它 ...
- 10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析
4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a.fd1 = inotify_init(& ...
- VSX(翻译)Moving Code Blocks Among Code Regions using VS 2010 Extensions
Moving Code Blocks Among Code Regions using VS 2010 Extensions (翻译)使用VS 2010 扩展性将代码块移至Region区域中 Down ...
- 数据类型总结——null和undefined
相关文章 简书原文:https://www.jianshu.com/p/c3e252efe848 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- 【Redis源代码剖析】 - Redis内置数据结构之压缩字典zipmap
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在 ...