win10下的python 开发环境搭建(anaconda+pycharm)
1.写在开始
很多教程都会告诉你该怎么做,用什么软件,却不说明为什么,这往往是有问题的。入门python也有一段时间了。就开发环境搭建做些总结,尽量记录下每一步的动机,也是对一些运行机制的理解。
2.python版本的选择
2.1.python2 or python3
横亘在面前的就是python2和python3。一开始听到python2停更的消息很自然就想用python3, 无奈两者不兼容(关于移植也大有文章可做,淘汰这种事情是时常发生的,抓住本质才是重要的),那就两个版本都装。
2.2.版本!?
python2就上2.7了,没什么问题;python3的3.5,3.6,3.7还是有纠结的地方的,问题在哪呢,有些库不支持比较新的版本,按需求吧,之前就因为tensorflow卸载了3.7,装了3.6(tensorflow估计以后也会支持3.7吧)
2.3.多版本兼容安装
多版本兼容安装的问题其实就是各个版本相关文件同时存在,并且可以实现有序的调用,相关的方法很多(不推荐(1)和(2),这两个可以看看),基本的操作都是把python.exe的改个名字。这里涉及到window的环境变量配置,命令提示符cmd通过环境变量中的系统环境变量path查找可执行命令,修改python.exe的名字是为了区分不同版本,做到所谓“有序调用”(了解到conda的方法后,才意识到这种方法有些蹩脚,估计是有其他原因不得以而为之吧)
3.IDE的选择
IDE最重要的就是用的舒服,没有想太多,直接上pycharm(确实很占内存,不过还可以承受),debug用起来很舒服(自己装的专业版目前却只用到了社区版的功能)。当然其他选择也不是没有。
4.为什么conda
第一次用import的时候就意识到了包管理的问题,也知道了conda(以及anaconda),但嫌太大,也没了解其包管理的原理,就弃了,以为自己管理就好了。
后来,一方面装了两个版本的python,又经历了python3.7卸载重装3.6,包都得重装,环境变量也不干净了,很是难受,直到装theano的过程中一直失败,才再次注意到conda。
conda的包管理,说白了就是通过“环境”这么一个层次进行管理的,所有的包(其实就是文件夹)都堆在一起(安装目录下的pkgs文件夹),不同“环境”里的包都在哪里统一“管理”。
还有就是conda的install考虑依赖,而自己用pip是考虑不周全的。这个很重要,缺乏依赖项会导致包无法使用或者出错。
5.推荐python开发环境搭建形式
真正做python的时间也不到一个月吧,现在看来win10环境下下面的开发环境还是可以的:
anaconda(有anaconda=miniconda+很多库,miniconda=conda+python的说法,所以anaconda和miniconda都可以)
+
pycharm(专业版or社区版,自己选吧,专业版**参考很多)
附:
conda的使用:Getting started with conda;conda cheat sheet;Getting started with Anaconda;conda环境好好搭,实现多版本python管理也就很容易了(可以一个python版本一个环境,也可以一个框架一个环境,甚至是一个工程一个环境,当然过多的冗余也不好,过多的重复浪费存储空间)。
pycharm环境的配置:File/Setting里的project interpreter设置好与conda环境对应的python.exe即可(注意是在conda安装目录下的envs中对应环境目录下的python.exe,而不是安装目录下的exe)