TensorFlow安装——Anaconda

Win10 下TensorFlow安装、使用


第零部分 Python本身

首先我们需要从python本身说起, 从根源寻找问题, 我们在使用python语言编写程序之前需要下载一个python解释器, 这才是python的本体, 没了python解释器, 我们即使写了无比正确优雅的python脚本也没办法运行, 那这个解释器在哪呢.就在你安装python的地方,比如我的在C:\Users\Acring\AppData\Local\Programs\Python\Python36-32

python.exe, 也就是Python解释器

除此之外还有个很重要的东西, Lib, 也就是python包文件, 包括自带的包和第三方包

Lib目录如上图, 这里有python自带的包, 如笔者常用的日志包logging, 异步包 concurrent, 而所有的第三方包都放在site-packages文件夹里面

了解了这些我们就对整个python环境有了大概的了解, 其实最关键的, 一个python环境中需要有一个解释器, 和一个包集合.

解释器

解释器根据python的版本大概分为2和3. python2和3之间无法互相兼容, 也就是说用python2语法写出来的脚本不一定能在python3的解释器中运行.

包集合

包集合中包含了自带的包和第三方包, 第三方包我们一般通过pip或者easy_install来下载, 当一个python环境中不包含这个包, 那么引用了这个包的程序不能在该python环境中运行.

比如说一个爬虫脚本用到了第三方的requests包,而另一台计算机是刚刚装好原始python的, 也就是说根本没有任何第三方包, 那么这个爬虫脚本是无法在另一台机器上运行的.

Anacond提供了包管理,并可以在不同的环境之间切换

简单来说,Anaconda是Python的包管理器和环境管理器。

  • Anaconda附带了一大批常用数据科学包,它附带了conda、Python和 150 多个科学包及其依赖项。因此你可以用Anaconda立即开始处理数据。

  • 管理包。

    Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。

  • 管理环境。

    为什么需要管理环境呢?比如你在A项目中用到了Python2,而新的项目要求使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候conda就可以帮助你为不同的项目建立不同的运行环境。还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个pandas版本。你要做的应该是在项目对应的环境中创建对应的pandas版本。这时候conda就可以帮你做到。


第一部分 Anaconda介绍、安装和命令

1- Anaconda的介绍

Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版仅包含conda和 Python)。

Conda是一个开源的包、环境管理器可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

2- Anaconda安装

首先安装Anaconda: 这里是从清华镜像网站下载的

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

我选择下载的版本

Anaconda3-5.3.1-Windows-x86_64.exe

安装注意事项:安装目录最好不要有空格;是否把Anaconda加入环境变量的选项上打勾,这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令;如果不打勾可以再安装以后将对应的环境变量添加上去

配置环境变量

如果是windows的话需要去 控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH 中添加 anaconda的安装目录的Scripts文件夹, 比如我的路径是C:\ProgramData\Anaconda2\Scripts, 看个人安装路径不同需要自己调整.

(可能还要添加Anaconda的路径)

环境变量配置

将以下路径添加到系统环境变量中

D:\ProgramData\Anaconda3;

D:\ProgramData\Anaconda3\Scripts;

D:\ProgramData\Anaconda3\Library\mingw-w64\bin;

D:\ProgramData\Anaconda3\Library\usr\bin;

D:\ProgramData\Anaconda3\Library\bin;

之后就可以打开命令行(最好用管理员模式打开) 输入 conda --version

如果输出conda 4.5.4之类的就说明环境变量设置成功了.

为了避免可能发生的错误, 我们在命令行输入conda upgrade --all 先把所有工具包进行升级

如果之前安装了Python,

  1. 安装好了以后,可以在cmd中输入 Python,发现显示的还是你之前安装的版本,像我的就是Python2.7,这是因为你之前安装Python2,7的时候,是将它的安装目录添加到了环境变量中的。在系统环境变量中找到对应之前安装Python的路径并删除,像我的就是D:\Program Files\python2.7 和D:\Program Files\python2.7\Scripts。将其删除。

      接着重启电脑,再在cmd中输入python 就会显示是Anaconda自带的版本了。
    

4. 将原来python加入Anoconda中

     在Anoconda中,用户以后安装的python会存放在envs中。如果在cmd中输入conda info -e 或者 conda info --envs 就可以得到你安装的python信息。 在考察一下conda中安装其他包的命令:

创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)

conda create --name python34 python=3.4

   其实就是在envs中创建了一个python34的文件夹,这个也就是安装python34的一个安装目录。了解这个原理之后,就可以轻松将原来的环境转到Aconda进行管理。

   直接将你原来安装python的整个文件夹拷贝到envs的目录下。

   然后你再用conda info -e 命令,就会发现多了一个你添加的文件夹的名字的python,我把自己之前安装的python2.7的包拷过去。还可以给文件下重命名一下,我命名的是python27。

conda environments:

python27 * D:\Anaconda3\envs\python27

root D:\Anaconda3

Anaconda安装成功之后,我们需要修改其包管理镜像为国内源。

Tsinghua Open Source Mirror

简单来说就是在cmd中分别运行这两个命令就好了。

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

conda config --set show_channel_urls yes

设置Anaconda镜像,加速下载包

使用conda install 包名 安装需要的Python非常方便,但是官方的服务器在国外,因此下载速度很慢,国内清华大学提供了Anaconda的仓库镜像,我们只需要配置Anaconda的配置文件,添加清华的镜像源,然后将其设置为第一搜索渠道即可cmd命令行下分别执行以下命令:

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

conda config --set show_channel_urls yes

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/`

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

配置完后可以测试一下,安装第三方包明显神速了

设置好镜像以后,我们继续进行环境管理。

3- Anaconda 命令和使用

常用命令

activate // 切换到base环境

activate learn // 切换到learn环境

conda create -n learn python=3 // 创建一个名为learn的环境并指定python版本为3(的最新版本)

conda env list // 列出conda管理的所有环境

conda list // 列出当前环境的所有包

conda install requests 安装requests包

conda remove requests 卸载requets包

conda remove -n learn --all // 删除learn环境及下属所有包

conda update requests 更新requests包

conda env export > environment.yaml // 导出当前环境的包信息

conda env create -f environment.yaml // 用配置文件创建新的虚拟环境

一些例子和使用

环境管理

4. 将原来python加入Anoconda中

     在Anoconda中,用户以后安装的python会存放在envs中。如果在cmd中输入conda info -e 或者 conda info --envs 就可以得到你安装的python信息。 在考察一下conda中安装其他包的命令:

创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)

conda create --name python34 python=3.4

   其实就是在envs中创建了一个python34的文件夹,这个也就是安装python34的一个安装目录。了解这个原理之后,就可以轻松将原来的环境转到Aconda进行管理。

   直接将你原来安装python的整个文件夹拷贝到envs的目录下。

   然后你再用conda info -e 命令,就会发现多了一个你添加的文件夹的名字的python,我把自己之前安装的python2.7的包拷过去。还可以给文件下重命名一下,我命名的是python27。

conda environments:

python27 * D:\Anaconda3\envs\python27

root D:\Anaconda3

  5.环境管理

安装好后,使用activate激活某个环境

activate python34 # for Windows

source activate python34 # for Linux & Mac

激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH

此时,再次输入

python --version

可以得到Python 3.4.5 :: Anaconda 4.1.1 (64-bit),即系统已经切换到了3.4的环境

如果想返回默认的python 2.7环境,运行

deactivate python34 # for Windows

source deactivate python34 # for Linux & Mac

删除一个已有的环境

conda remove --name python34 --all

      可以使用上面的激活命令检验一下:

      在cmd中输入python得到自带版本信息,然后再激活python27,显示(python27) C:\Users\UT> 也就是搞定了。

C:\Users\UT>python

Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1

900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

exit()

C:\Users\UT>activate python27

(python27) C:\Users\UT>

设置国内镜像命令

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

conda config --set show_channel_urls yes

         然后你的.condarc 文件应该是这样的内容,或者你可以直接修改该文件的内容设置镜像。

channels:

show_channel_urls: yes

设置Anaconda镜像,加速下载包

使用conda install 包名 安装需要的Python非常方便,但是官方的服务器在国外,因此下载速度很慢,国内清华大学提供了Anaconda的仓库镜像,我们只需要配置Anaconda的配置文件,添加清华的镜像源,然后将其设置为第一搜索渠道即可cmd命令行下分别执行以下命令:

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

conda config --set show_channel_urls yes

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/`

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

共享环境

共享环境非常有用,它能让其他人安装你代码中使用的所有包,并确保这些包的版本正确。比如你开发了一个系统,你要提交给项目部署系统的人来部署你的项目,但是他们并不知道你当时开发时使用的是哪个python版本,以及使用了哪些包和包的版本。这怎么办呢?你可以在你当前的环境的终端中使用:

将你当前的环境保存到文件中包保存为YAML文件

conda env export > environment.yaml

将你当前的环境保存到文件中包保存为YAML文件(包括Pyhton版本和所有包的名称)。命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。你在终端中上可以看到导出的环境文件路径。在 GitHub 上共享代码时,最好同样创建环境文件并将其包括在代码库中。这能让其他人更轻松地安装你的代码的所有依赖项。

导出的环境文件,在其他电脑环境中如何使用呢?

首先在conda中进入你的环境,比如conda activate python27。然后在使用以下命令更新你的环境:

其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径

conda env update -f=/path/to/environment.yml

对于不使用conda 的用户,我们通常还会使用以下命令将一个 txt文件导出并包括在其中:

pip freeze > environment.txt

然后我将该文件包含在项目的代码库中,其他项目成员即使在他的电脑上没有安装conda也可以使用该文件来安装和我一样的开发环境:

他在自己的电脑上进入python命令环境,然后运行以下命令就可以安装该项目需要的包:

1. #其中C:\Users\Microstrong\enviroment.txt是该文件在你电脑上的实际路径。

2. pip install -r C:\Users\Microstrong\enviroment.txt

4- Anaconda 深入一下

或许你会觉得奇怪为啥anaconda能做这些事, 他的原理到底是什么, 我们来看看anaconda的安装目录

这里只截取了一部分, 但是我们和本文章最开头的python环境目录比较一下, 可以发现其实十分的相似, 其实这里就是base环境. 里面有着一个基本的python解释器, lLib里面也有base环境下的各种包文件.

那我们自己创建的环境去哪了呢, 我们可以看见一个envs, 这里就是我们自己创建的各种虚拟环境的入口, 点进去看看

可以发现我们之前创建的learn目录就在下面, 再点进去

activate 能将我们引入anaconda设定的虚拟环境中, 如果你后面什么参数都不加那么会进入anaconda自带的base环境,

你可以输入python试试, 这样会进入base环境的python解释器, 如果你把原来环境中的python环境去除掉会更能体会到, 这个时候在命令行中使用的已经不是你原来的python而是base环境下的python.而命令行前面也会多一个(base) 说明当前我们处于的是base环境下。

这不就是一个标准的python环境目录吗?

这么一看, anaconda所谓的创建虚拟环境其实就是安装了一个真实的python环境, 只不过我们可以通过activate,conda等命令去随意的切换我们当前的python环境, 用不同版本的解释器和不同的包环境去运行python脚本.

5- Anaconda拓展(其它常用库 & IDE)

与JetBrains PyCharm连接

在工作环境中我们会集成开发环境去编码, 这里推荐JB公司的PyCharm, 而PyCharm也能很方便的和anaconda的虚拟环境结合

在Setting => Project => Project Interpreter 里面修改 Project Interpreter , 点击齿轮标志再点击Add Local为你某个环境的python.exe解释器就行了

比如你要在learn环境中编写程序, 那么就修改为C:\Users\Administrator\AppData\Local\conda\conda\envs\learn, 可以看到这时候下面的依赖包也变成了learn环境中的包了.接下来我们就可以在pycharm中愉快的编码了。

下面为大家介绍一下Python库的安装方法

在cmd中输入:pip list 可以查看安装的库

在所有程序里面可以看到安装的组件,有Anaconda管理器(Anaconda Command Prompt),IPython Notebook,IPython QT,IPython,Spyder。点击IPython,进入IPython的界面。

可以在cmd中输入pip list 或者在Anaconda管理器中输入conda list来查看已经安装的库

  • Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。

  • Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。

  • qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。

  • spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。

    4\. 将原来python加入Anoconda中
    
     在Anoconda中,用户以后安装的python会存放在envs中。如果在cmd中输入conda info -e 或者 conda info --envs 就可以得到你安装的python信息。 在考察一下conda中安装其他包的命令:
    

创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)

conda create --name python34 python=3.4

   其实就是在envs中创建了一个python34的文件夹,这个也就是安装python34的一个安装目录。了解这个原理之后,就可以轻松将原来的环境转到Aconda进行管理。

   直接将你原来安装python的整个文件夹拷贝到envs的目录下。

   然后你再用conda info -e 命令,就会发现多了一个你添加的文件夹的名字的python,我把自己之前安装的python2.7的包拷过去。还可以给文件下重命名一下,我命名的是python27。

conda environments:

python27 * D:\Anaconda3\envs\python27

root D:\Anaconda3

  5.环境管理

安装好后,使用activate激活某个环境

activate python34 # for Windows

source activate python34 # for Linux & Mac

激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH

此时,再次输入

python --version

可以得到Python 3.4.5 :: Anaconda 4.1.1 (64-bit),即系统已经切换到了3.4的环境

如果想返回默认的python 2.7环境,运行

deactivate python34 # for Windows

source deactivate python34 # for Linux & Mac

删除一个已有的环境

conda remove --name python34 --all

      可以使用上面的激活命令检验一下:

      在cmd中输入python得到自带版本信息,然后再激活python27,显示(python27) C:\Users\UT> 也就是搞定了。

C:\Users\UT>python

Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1

900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

exit()

C:\Users\UT>activate python27

(python27) C:\Users\UT>

         6.设置国内镜像命令

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

conda config --set show_channel_urls yes

         然后你的.condarc 文件应该是这样的内容,或者你可以直接修改该文件的内容设置镜像。

channels:

show_channel_urls: yes

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容