现在python3已经成为主流的python环境,大部分的package都兼容python3,仍然有一小部分,或者说是某一领域的package需要使用python2。本人现在主要在利用python做机器学习和深度学习,因此对python2还是有一定的需求。

对于一般的package而言,python3都已经很好的兼容,学习机器学习,基本上直接安装Anaconda3即可。而深度学习大多数的框架对windows支持的不是很好,而且部分框架还对python的版本有一定的要求,name最理想的情况是,机子上可以同时拥有两个python的环境。

方法有两个,1. 直接安装多个python解释器或者多个版本的Anaconda。2. 利用virtualenv或者conda env来创建多个python虚拟环境。相比之下第二种方法会比较好。因为他可以创建出多个不同版本的python环境供开发使用。

由于做深度学习需要使用theano框架,而他对于python和package的版本有特定的要求,因此打算创建一个虚拟的环境来单独运行theano。

本机环境:windows 10、Anaconda3、python3.6

python虚拟环境

不考虑底层的技术,python虚拟环境就类似于Docker这类的容器,它可以创建多个相互隔离的python环境来运行不同的脚本。在没有conda之前,使用virtualnev来实现,而现在conda不仅可以作为包管理工具,同时也能创建虚拟环境。下面是conda 有关于虚拟环境的一些用法。官方文档可做参考。

常用命令

  • 查看命令
conda env --help	#查看帮助
conda env list #列出所有的虚拟环境
conda list --name [虚拟环境名] #查看指定虚拟环境下的package
  • 虚拟环境操作命令
#创建
conda create --name [虚拟环境名] [python的版本] [需要的包]
eg:
conda create --name myenv
conda create --name myenv python=2.7
conda create --name myenv pytohon=2.7 numpy scipy #克隆
conda create --name [虚拟环境名] -- clone [colne的环境]
eg:
#创建一个和原python环境一样的虚拟环境
conda create --name mybase --clone base #删除
conda remove --name [虚拟环境名] -all # 激活取消(默认的环境是base)
activate [虚拟环境名]
deactivate [虚拟环境名]

虚拟环境激活后,在cmd中输入python,显示的就是一个新的环境。

  • package的安装

可以在创建环境的时候跟上需要的package,也可以创建完再添加。

#先切换当前的环境再安装
activate [虚拟环境名]
conda install [package_name] #直接安装
conda list --name [虚拟环境名] [package_name] #安装指定版本的package
一般直接install package就可以了,有些特定的package就需要指定版本了
conda install [package_name]=[version]
eg:
conda install numpy=0.12.0

关于 jupyter notebook

创建了新的env之后在pycharm打开notebook会报错的,因为在新的env中没有安装。请在Anaconda Prompt中进行安装

activate [new_env]
conda install jupyter

安装完之后就可以在pycharm启动了。

如果不通过pycharm,直接启动的话,据说可以添加配置文件,就可以在多个env kernel中切换了。具体可以参考jupyter中添加conda环境

安装theano框架

据说windows下安装theano坑比较多,不过我装下来还是比较顺利的。

创建env

由于theano只支持大py3.5,目前机子里的版本是3.6,所以我们索性创建一个py27的env

conda create --name theano_py27 python=2.7

创建成功后,可以查看当前的env。

activate theano_py27

激活新的env,根据上图安装需要package。

conda install scipy=0.17.0 mkl-service

接下来就可以安装theano了。此处需要安装的package比较多,需要一定的时间。

conda install theano

安装完成后,可以进行测试。

>>> import numpy
>>> import theano.tensor as T
>>> from theano import function
>>> x = T.dscalar('x')
>>> y = T.dscalar('y')
>>> z = x + y
>>> f = function([x, y], z)

切换完之后,在cmd中输入python,可以发现,已经由原来的3.6变成2.7了。

在pycharm中使用虚拟环境

创建了新的env之后,打开pycharm,添加新的解释器即可。一般在Anaconda\env\目录下。

这样就OK了。

参考文献

conda创建py27虚拟环境安装theano(anaconda3)的更多相关文章

  1. Anaconda+用conda创建python虚拟环境

    Anaconda+用conda创建python虚拟环境 Anaconda与conda区别 conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理.包管理与pip的使用类似,环境 ...

  2. Anaconda用conda创建python虚拟环境

    Anaconda用conda创建python虚拟环境 一.简介 conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理.包管理与pip的使用类似,环境管理则允许用户方便地安装不 ...

  3. 用conda创建python虚拟环境

    1.首先在所在系统中安装Anaconda.可以打开命令行输入conda -V检验是否安装以及当前conda的版本. 2.conda常用的命令. 1)conda list 查看安装了哪些包. 2)con ...

  4. conda 创建tensorflow虚拟环境后,无法import tensorflow在jupyter

    ensorflow安装好了,在python中也测试过了,但在jupyter中却会报错,原因是先装的Anaconda 之后装的tensorflow,所以环境有问题,所以需要重装jupyter,先激活te ...

  5. 使用conda创建虚拟环境

    conda创建python虚拟环境 前言 conda常用的命令: conda list 查看安装了哪些包. conda env list 或 conda info -e 查看当前存在哪些虚拟环境 co ...

  6. conda创建/移除虚拟环境

    conda创建python虚拟环境 前言 conda常用的命令: conda list 查看安装了哪些包. conda env list 或 conda info -e 查看当前存在哪些虚拟环境 co ...

  7. 创建 python 虚拟环境

    conda 创建环境 conda 可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理.包管理与 pip 的使用类似,环境管理则允许用户方便地安装不同版本的 python 并可以快速切 ...

  8. Linux创建Python虚拟环境

    Linux创建Python虚拟环境 安装 pip install virtualenv 基本使用 为一个工程创建一个虚拟环境: $ cd my_project $ virtualenv venv #v ...

  9. conda创建和使用python的虚拟环境

    https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/ 当我们使用服务器的时候,会存在多个用户,并且可能 ...

随机推荐

  1. mongodb 配置均衡器的运行窗口

    当系统的数据量增长不是太快的时候,考虑到数据迁移会降低系统性能,可以配置均衡器在只在特定时间段运行.详细的配置步骤如下: 连接到任意的mongos服务器,并通过安全认证(如果有认证的话). 切换到co ...

  2. hdu1061(2015-N1):1.快速幂;2.找规律

    1.快速幂 原理:求a的b次方,将b转化为二进制数,该二进制位第i位的权是2^(i-1), 例如 11的二进制是1011 11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1 因此,我们将a¹ ...

  3. 剑指offer第一天

    15.反转链表 输入一个链表,反转链表后,输出链表的所有元素. 解法一:(使用栈) /* public class ListNode { int val; ListNode next = null; ...

  4. UVA-10954 贪心+优先队列

    贪心策略:每次选取最小的两个数相加,将和作为新的数加入序列,再从里面取两个最小的数...直到只剩下一个数.优先队列正好对付这题. PS :以前在学校OJ做过几乎一毛一样的这题 AC代码: #inclu ...

  5. day4(while 、练习题)

    一.while ... else 方法 while else 的作用就是,确定循环正确执行完毕,else里面可以提示完成的情况. 二.练习题 1.编译型语言是编译完之后执行,解释性语言是边编译边执行, ...

  6. uploadify上传文件(1)--下载

    最近在给公司做一个软件版本迭代管理的软件,是一个asp.net网站开发项目.利用mvc框架,前端采用bootstrap,数据库是MySQL,数据库访问利用EF框架. 软件需求是公司软件开发项目多,版本 ...

  7. 天猫精灵X1智能音箱使用感想

    11.22音箱到手,等了刚好一个月. 主要是测评语音交互功能. 测试条件:正宗普通话. 1)问天气.温度:表现良好.2)找手机功能:试了多次,每次都说手机号码格式不对3)小孩听故事:正常.但是开头会有 ...

  8. win10如何快速扫描-上海IT外包

     第一步,点击Windows图标  第二步点击所有应用  第三步点击Windows附件  最后点击Windows传真和扫描就可以了 上海IT33_专业的it外包一站式服务商,为多家企业提供it ...

  9. js获取当前浏览器地址栏的链接,然后在链接后面加参数

    比如访问www.baidu.com,url显示成www.baidu.com/?form <script type="text/javascript"> if(locat ...

  10. Array.reduce()学习

    昨天遇到的一道题:1234567890 => 1,234,567,890 要求其实就是使用逗号做千分位将数字进行分隔. 当时没想到任何方法,但是以前看到过,印象很深刻,今天就找了一下. 看到其实 ...