Anaconda是一个集成python及包管理的软件,记得最早使用时在2014年,那时候网上还没有什么资料,需要同时使用py2和py3的时候,当时的做法是同时安装Anaconda2和Anaconda3,修改里面的文件,例如将conda命令的exe文件,重命名为conda3,这个做法能用但是有很多问题;这几天需要使用以下spyder(anaconda 中集成的IDE)发现控制台一直显示connecting to kernel,我用的win10系统,可能是我将环境改动,导致无法正常运行。又重装了系统,因为以后py3会越来越流行,故打算安装python2和python3,下面是我趟过的坑。
Anaconda的安装就不在这里面赘述了,记得在安装的时候勾选按上修改环境变量的复选框,先介绍下目录X:Anaconda2envs,顾名思义这个是python的环境目录。
在控制台(cmd)输入
conda info --envs
显示当前存在的python环境,带*号的 表示是当前活动的环境。可以发现环境的名称是以envs目录下文件夹名字命名的,例如snake(随便起名)
方法1(我没成功)
网上的有一个多版本的方法是在X:Anaconda2envs目录下安装一个其他版本的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的方法:在AnacondaLibsite-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下面未找到包