基础概念
Python2.x or Python3.x
自从20世纪90年代初Python语言诞生至今,一直在迭代更新,根据出现的时期,可以分为Python2.x
和Python3.x
两个大版本。其中Python3.x
进行了较大的升级,为了避免太多的累赘,设计时,没有考虑向下兼容(也就是低版本的不可以被高版本的编译,会产生错误。)[1]。Python2.x
随着Python语言的不断完善,即将推出历史舞台,据消息称[2]:
自2020年1月1日起,Python 2将不再得到支持。Python的核心开发人员将不再提供错误修复版或安全更新。
因此,如果你仍在使用Python 2.x
,是时候将代码移植到Python 3
了。所以建议安装时选择3.x版本。
Python模块、包、库的概念
正如你所理解的,Python就是一门普通的编程语言,有自己的语法,可以定义一些变量和函数实现一定的功能,文件的后缀名就是.py
。然而在实际开发过程中,任何语言不是简简单单的变量和函数这样的最基本的架构,在Python中,存在以下定义[3]:
- 模块:后缀名为.py的单一文件被称作“模块”,这个是一些函数组合而成的最小功能单元。
- 包:所谓的“包”就是指多个模块组合而成的更高级的功能单元,你可以理解为Windows中的文件夹,然后多个.py文件就构成了包。当然包也可以存在多级子包,就好像文件夹也可以存在多个子文件夹一样。并且文件也可以和文件夹处在同一级。包的根目录下一定有
init.py
这个文件,用于初始化。 - 库:“库”和“包”本质上没有太大区别,也是模块的集合,当然也可以包括一些包,这些组合在一起,就称作“库” [4]。
安装Anaconda就够了
在实际开发时,仅凭借自己编程制作模块,效率十分低下,俗称造轮子
。因此大部分开发者都会引入许多现有的轮子,然后再在此基础上进行二次开发,俗称调库
。所以这其中就涉及到一些引入包、库等资源的问题。独立安装Python时,安装这些库需要自己手动,很不方便[5],这时就诞生了Anaconda这样的集成工具包了。 Anaconda是集成工具包,里面包含了开发中需要的各种依赖库和模块,可以提供给我们直接使用,提高我们的开发效率。除此之外,Anaconda还提供了一些以Python为基础的其他工具,例如Jupyter Notebook
,Spyder(IDE)
,Anaconda Prompt
等等,为Python的程序开发提供了巨大的便利。
其实说了这么多,我只是想告诉你,正是因为上述原因,一般在搭建Python开发环境时,只需要安装Anaconda就可以了,他的安装包里自带了Python编译器,还有各种各样的库,安装时只需要傻瓜式的一直点下一步就行了(部分地方需要视情况修改)。
Python与Anaconda版本对应关系
如上面所说,Anaconda自带了Python编译器,但是自带的这个编译器的版本和Anaconda的版本之间是有对应关系的[6]。Anaconda在每次发布新版本的时候都会给python2和python3都发布一个包,版本号是一样的(anaconda2-xxx和anaconda3-xxx)。所以我们在选择Anaconda版本时,也应该尽量选择安装兼容更好的版本。
这里我们推荐最稳定的 Anaconda3-5.2.0(python 3.6.5)这个版本。具体的版本对应关系和下载地址如下:
- anaconda、python版本对应关系
- 清华镜像源
- Anaconda3-5.2.0(python 3.6.5)(Win10 64位)
Python与Tensorflow版本对应关系
不仅Python与Anaconda存在版本对应关系,Python还与Tensorflow有对应关系。目前在Windows系统下,tensorflow的gpu和cpu版本兼容python3.5和3.6版本[7],因此要想稳定运行最好选择Python3.6版本的Python,那么就要去找对应的Anaconda版本。这样在搭建环境时才能避免出现各种各样的问题。
Python的IDE
所谓的IDE
就是指的集成开发环境,开发环境可以为编程人员提供代码高亮注释、关键词自动提示、包库的快速查看等等多种方便快捷的功能,从而大大加快了开发的周期。常用的python的IDE有很多[8],这里我们主要使用Pycharm
这一款。
小结
上面啰里啰唆说了一堆,主要是为了扫除安装过程中的一些问题,因为这些都是我作为一个小白,亲身经历并总结的。
总而言之,要在Win10环境下搭建一个可以深度学习的开发环境,需要安装合适版本的Anaconda然后安装Tensorflow,最后选择一款适合自己的IDE,通过适配,实现整个环境的搭建。
安装教程
Anaconda安装教程
下载安装包
Anaconda3-5.2.0(python 3.6.5)(Win10 64位)
按提示安装
这里仅给出需要修改的地方,其余的按提示操作即可。
设置为just for me(仅我可以用)
设置安装路径(不建议设置在包含空格的文件夹下)
设置添加到环境变量中
设置为我安装VSCode
验证安装是否正确
按上述步骤安装后,你将会在win10的开始菜单中看到最近添加了这些:
使用WIn + R,打开命令行窗口,输入以下命令,用来验证Anaconda环境是否配置成功:
出现上面的结果则表示环境变量设置好了。
小结
通过安装Anaconda,我们就获得了一个自带的Python,这个Python的版本和Anconda的版本是绑定在一起的,可以通过更新,升级版本。Anaconda主要实现python包的管理,以及创建虚拟环境。包库的管理由Anaconda自带的conda来完成,这就是为什么你看到的上面的命令全部是conda开头的。在实际开发中,因为python版本不一样、包库不一样,所以如果要把你的代码给别人运行,那光适配这个环境都要花好久时间。因此为了解决这个问题,Anaconda设计了可以创建虚拟环境的功能,所以当你需要创建一个工程时,你只需要按照需求,选定所需的一些环境参数后(如包库版本号什么的),创建一个管理该工程的虚拟环境,在这个环境里开展工作,以后发给别人时,只需要打包环境就可以实现共享了。
Tensorflow安装教程
设置镜像源
为了让下载时更快速,一般都要设置镜像源来加速,这里选择清华镜像源(之前挂了有好了)[9]。
首先,打开Anaconda Prompt的命令窗口:
然后输入:
查看当前的镜像源,如果没有,则通过下面的命令添加清华镜像源:
如过要删除则通过下面的命令删除:
创建基于python 3.6 的tensorflow环境
进入虚拟环境 tensorflow
安装Tensorflow
查看虚拟环境
查看虚拟环境已经安装的包
验证Tensorflow是否安装成功
如果不报错,则表示安装成功。
小结
Tensorflow只不过是众多python第三方包中的一个重要的深度学习包(或者称之为框架)。因为Anconda的源默认是官网的,由于网络限制,网速极慢,所以需要设置到国内的清华源。创建虚拟环境也基本按照上面的套路进行,即创建环境→激活环境(进入环境)→安装所需包→退出环境。这里面用到的conda指令可以去详细了解,这里我们就不展开了。
Pycharm安装教程
Pycharm有两个版本,即专业版和社区版,当然是选择专业版啦!
按照提示点击按钮完成基本安装。
补丁破解
找到pycharm安装目录下的bin,将破解文件JetbrainsCrack-release-enc.jar(链接:https://pan.baidu.com/s/1B_CGvojKZnabQIkMMiP11g 提取码:7s5v )复制粘贴进去,然后,在pycharm.exe.vmoptions
和pycharm64.exe.vmoptions
添加以下代码:
其中后面的路径就是破解文件的路径。
激活
打开Pycharm,将激活码复制进去,实现激活。
激活码:
配置解释器
激活成功后,打开一个文件夹,作为工程目录。然后为这个目录设置解释器,这里的解释器位置就在前面Anaconda所创建的虚拟环境下。
配置主题
可以修改主题为onedark样式(链接:https://pan.baidu.com/s/1RKnKyLsDyka5KgsRLy-D5w 提取码:1xxt ),在settings/EDditor/Color Scheme下导入文件即可。
测试运行
小结
Pycharm是一款十分方便的IDE,只要设置好Python的解释器后,就可以愉快的编程了。更多技巧还需要后续学习。
写在最后
环境的配置确实很头疼,这里面主要会发生这么几个问题:
- 环境变量没有设置好,导致命令行报错。
- Tensorflow和python版本不对应,导致python下运行tensorflow代码报错。
- Pycahrm解释器路径错误,导致python下运行tensorflow代码报错。
如果有问题欢迎在下面留言探讨。
参考文献
- Python2.x与3.x版本区别 ↩︎
- Python 2.x 即将终止更新和技术支持,是时候和它讲再见了 ↩︎
- Python中的import,from...import以及模块、包、库的概念 ↩︎
- python中的模块、库、包有什么区别? ↩︎
- anaconda和python区别 ↩︎
- anaconda、python版本对应关系 ↩︎
- TensorFlow版本配套关系表(cudnn、cuda、Python的配套关系,包含所有操作系统) ↩︎
- 推荐10 款最好的 Python IDE ↩︎
- windows10+Python3.6+Anaconda3+tensorflow1.10.0配置和安装 ↩︎