Anaconda是一个集成python及包管理的软件,记得最早使用时在2014年,那时候网上还没有什么资料,需要同时使用py2和py3的时候,当时的做法是同时安装Anaconda2和Anaconda3,修改里面的文件,例如将conda命令的exe文件,重命名为conda3,这个做法能用但是有很多问题;这几天需要使用以下spyder(anaconda 中集成的IDE)发现控制台一直显示connecting to kernel,我用的win10系统,可能是我将环境改动,导致无法正常运行。又重装了系统,因为以后py3会越来越流行,故打算安装python2和python3,下面是我趟过的坑。

Anaconda的安装就不在这里面赘述了,记得在安装的时候勾选按上修改环境变量的复选框,先介绍下目录X:\Anaconda2\envs,顾名思义这个是python的环境目录。

在控制台(cmd)输入

conda info --envs

显示当前存在的python环境,带*号的 表示是当前活动的环境。可以发现环境的名称是以envs目录下文件夹名字命名的,例如snake(随便起名)

方法1(我没成功)

  网上的有一个多版本的方法是在X:\Anaconda2\envs目录下安装一个其他版本的Anaconda,例如Anaconda3,安装文件夹名字随便叫,我这里用snake。在切换python版本的时候使用指令

activate snake

注意控制台前面的(snake)标志着进入了名字为snake的环境。

想要退回原始环境,使用

deactivate snake

网上说,可是使用conda管理不同版本的包,在不同环境下,控制台输入spyder指令能够进入相应python版本的IDE环境,我尝试了一下均失败。我认为这个方法是不正确的,因为在envs目录下安装其他版本的anaconda,每个版本都有自己的conda等指令,并且环境内的anaconda版本也有自己的envs环境,这样会不会陷入循环?下面介绍另一种方法

方法2

创建一个名为snake的环境,指定版本为3.6

conda create --name snake python=3.6

这样系统会自动在envs目录下创建文件夹snake并下载python 3.6版本。多个环境共用同一套conda指令,通过指令activat和deactivate能够切换环境。进入snake环境可以使用conda list指令显示当前环境下所安装的包。如果想要删除某个环境指令为

conda remove --name snake --all

切换spyder的解释器:

spyder->tools->preferences->python interpreter

或者可以cmd->activate snake->spyder(前提需要安装spyder;安装方法直接conda install spyder)

另外,python2的默认编码是”ASCII“,修改为utf-8的方法:在Anaconda\Lib\site-packages目录下添加一个名字为sitecustomize.py文件,文件内容

import sys
sys.setdefaultencoding('utf-8')

设置国内源

在更新包的时候,默认源速度较慢,可以使用国内源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

安装指定版本的TensorFlow

1.  首先在Anaconda的库中查找所有的相关的repository。

 anaconda search -t conda tensorflow

2. 根据自己的环境选择安装对应的版本,查看repository中的信息,anaconda会返回供安装的版本号以及安装方法

anaconda show anaconda/tensorflow

3.根据返回的内容进行安装

conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.6.0  #在linux上面亲测通过,win下面未找到包

Anaconda多版本Python管理以及TensorFlow版本的选择安装的更多相关文章

  1. Anaconda多版本Python管理

    Anaconda是一个集成python及包管理的软件,记得最早使用时在2014年,那时候网上还没有什么资料,需要同时使用py2和py3的时候,当时的做法是同时安装Anaconda2和Anaconda3 ...

  2. 通过pyenv进行多版本python管理

    1.安装pyenv brew install pyenv 2.配置.zshrc文件 export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > ...

  3. 多版本Python管理及Python连接MySQL

    Python有个非常别扭的地方,就是两个不兼容的版本,很尴尬,有的包只能在低版本的2.7上才能运行,比如即将用到的MySQLdb. 所以首先必须在系统上安装两个版本的Python(貌似在pycharm ...

  4. 多版本python管理miniconda(集成了virtualenv和pip功能)

    miniconda下载地址: https://conda.io/docs/user-guide/install/index.html Installing on Linux Download the ...

  5. Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  6. (转)Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  7. Windows解决anaconda下双python版本安装TensorFlow

    首先,就是双版本anaconda的安装: 以前安装好的是python2.7版本,而TensorFlow的安装仅支持3.5版本的.但是自己本来的2.7版本又不想遗弃.所以安装双版本的: 在anacond ...

  8. 多版本python安装TensorFlow出现的各种事故

    TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数 ...

  9. Anaconda多环境多版本python配置指导

    Anaconda多环境多版本python配置指导 字数3696 阅读644 评论0 喜欢0 最近学python,读完了语法后在GitHub找了一些练习来做,由 于学的是python3.x语法,而Git ...

随机推荐

  1. Oracle GUID转换为String

    Oracle中guid属于Raw(16)类型, 查询的时候如果不使用下面的函数, 程序中得到的是数组(byte[]). 在extjs环境下, 会带来数组的反序列化问题(newtonsoft.json) ...

  2. nginx配置转发详解

    nginx各项参数的详细配置 本文主要讲解nginx.conf中server部分配置及多路转发问题: server { listen 9090; server_name 127.0.0.1; #cha ...

  3. (转)js数组与字符串的相互转换方法

    一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...

  4. 前端基础之CSS(总结)

    css学什么?? 主要学习选择器和属性,选择器是去找到标签的位置,属性是给标签增加需要的样式. CSS选择器 1.基本选择器: 1.标签选择器 2.ID选择器 3.类选择器(class="c ...

  5. Docker--Dockerfile引用及指令集的功能用法

    Dockerfile引用的官网文档:https://docs.docker.com/engine/reference/builder/ 编写Dockerfiles的最佳实践的官网文档:https:// ...

  6. 推荐3个小程序开源组件库——Vant、iView、ColorUI

    推荐3个小程序开源组件库 在进行小程序开发时,经常会遇到编写组件方面的阻碍,这让我们花费大量的时间在页面以及 CSS 样式编写上.因此可以使用开源组件库,有些复杂的组件可以直接拿来使用,节省开发时间, ...

  7. XML学习(一)

    实体引用 在 XML 中,一些字符拥有特殊的意义. 如果您把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始. 这样会产生 XML 错误: ...

  8. 基于C#的机器学习--贝叶斯定理-执行数据分析解决肇事逃逸之谜

    贝叶斯定理-执行数据分析解决肇事逃逸之谜 ​ 在这一章中,我们将: 应用著名的贝叶斯定理来解决计算机科学中的一个非常著名的问题. 向您展示如何使用贝叶斯定理和朴素贝叶斯来绘制数据,从真值表中发现异常值 ...

  9. 我对BP网络的简单的理解

    最近在学习tf的神经网络算法,十多年没有学习过数学了,本来高中数学的基础,已经彻底还给数学老师了.所以我把各种函数.公式和推导当做黑盒子来用,理解他们能做到什么效果,至于他们是如何做到的,暂时不去深究 ...

  10. python清空列表的方法

    1.大数据量的list,要进行局部元素删除,尽量避免用del随机删除,非常影响性能,如果删除量很大,不如直接新建list,然后用下面的方法释放清空旧list. 2.对于一般性数据量超大的list,快速 ...