1. 前言
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样, Python源代码同样遵循GPL(GNU General Public License) 协议。官方宣布,2020 年1月1日, 停止 Python2的更新。Python 2.7 被确定为最后一个Python 2.x版本。
它可以在Linux、macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不需要做较大的改动,使用者无不受益于它的便捷性。此外,Python的强大之处在于它的应用领域范围之广,遍及人工智能、科学计算、Web开发、系统运维、大数据及云计算、金融、游戏开发等。实现其强大功能的前提,就是Python具有数量庞大且功能相对完善的标准库和第三方库。通过对库的引用,能够实现对不同领域业务的开发。然而,正是由于库的数量庞大,对于管理这些库以及对库作及时的维护成为既重要但复杂度又高的事情。
2. Anaconda
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
2.1 具体特点
基于Anaconda拥有的conda包、环境管理器、1,000+开源库,还带来下面优点:
开源、安装过程简单
高性能使用Python和R语言
免费的社区支持
如果日常并不必要使用1,000多个库,那么可以考虑安装Miniconda(下载界面请戳)
2.2 环境管理器区别
- Anaconda
包含180+的科学包及其依赖项的发行版本;conda, numpy, scipy, ipython notebook等
- conda
它是包及其依赖项和环境的管理工具,为Python项目而创造,但可适用多种语言。conda包和环境管理器包含于Anaconda的所有版本当中。适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。平台:Windows, macOS, Linux。特点:① 快速安装、运行和升级包及其依赖项。② 在计算机中便捷地创建、保存、加载和切换环境。如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。
- pip
用于安装和管理软件包的包管理器,Python 2.7.9及后续版本:默认安装,命令为 pip;Python 3.4及后续版本:默认安装,命令为 pip3。
- virtualenv
用于创建一个独立的Python环境的工具,virtualenv将会为它自己的安装目录创建一个环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。
解决问题:
- 当一个程序需要使用Python 2.7版本,而另一个程序需要使用Python 3.6版本,如何同时使用这两个程序?如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小心升级了本不该升级的程序时,将会对其他的程序造成影响。
- 如果想要安装程序并在程序运行时对其库或库的版本进行修改,都会导致程序的中断。
- 在共享主机时,无法在全局 site-packages 目录中安装包。
3. Pycharm
PyCharm是Python最著名的集成开发环境IDE之一,由大名鼎鼎的 JetBrains 公司开发。什么是 IDE?IDE是集成开发环境的英文缩写 (Integrated Development Environment),所谓集成开发环境就是将你在开发过程中所需要的工具或功能集成到了一起,比如:代码编写、分析、编译、调试等功能,从而最大化地提高开发者的工作效率。IDE 通用特点如下:
- 提供图形用户界面,在 IDE 中可以完成开发过程中所有工作;
- 支持代码补全与检查,并提供快速修复选项;
- 内置解释器与编译器;
- 功能强大的调试器,支持设置断点与单步执行等功能。
3.1 具体特点
目前PyCharm共有三个版本:Professional、Community和Edu。Community和Edu版本是开源项目,它们是免费的。 Edu版完整的引用了Community版所有的功能。同时集成一个python的课程学习平台,比较适合从未接触过的任何开发语言的小白。Professional 版是收费,下面是 Profession 与 Community 版的对比,后者相对前者缺少很多重要功能,对于开发人员还是强烈建议选择 professional 版本,本课程中也将以 Professional 版本为例进行讲解。前面总结了其它 IDE 的优缺点, 相较其它产品,PyCharm 是功能最为完备,用户体验最好的IDE, 适合大型项目的开发。 具体特性如下:
智能代码编辑功能: 自动代码补全,你继续输入时,拼写提示列表会缩小范围以匹配你输入的字符。 具有实时编辑功能,立即自动保存编辑内容;
专业工具集成: 几乎集成了程序员可能希望的所有功能, 比如集成单元测试,代码检测,集成版本控制,代码重构工具等等;
支持各种 Web 开发语言:如 HTML/CSS、Javascript、Angular JS、node JS 等。Pycharm 还支持多种类型的 Web 开发框架和广泛的 Web 模板;
科学计算:集成了 IPython Notebook,其作为交互式的 python 控制台,支持各种工具如 Anaconda, NumPy, Matplotlib 等等;
可定制 + 跨平台: 可以自定义UI界面,可运行在 Linux, Windows and Mac OS 上;
远程调试:通过配置 Docker 或者 Vagrant 及 SSH, 支持在本地使用远程服务器的 Python 解释器和环境进行调试和运行, 这是其它大多数其它 IDE 不具备的功能;
最流行:意味着当你在使用中遇到问题,意味着可以在互联网上更快的找到解决方案相对于其它 IDE
3.2 其他IDE
1. Spyder
Spyder在 IDE 市场也是大名鼎鼎, 主要是为科学计算而开发的。它是开源工具, 可运行在 Linux, Windows and Mac OS上。优点:(1) 在查找和消解除代码性能链瓶颈方面非常高效;(2)可即时查看任何文档并修改自己的文档。(3)支持扩展插件。缺点:(1)同时调用太多插件时,其性能下降比较多;(2)无法配置开发人员想要禁用的警告。
2. IDLE
如果你的电脑上安装了Python,同时也就安装了IDLE。初学者可以利用它方便地创建、运行、测试Python程序。优点:(1) IDLE 纯粹在 Python 中开发,使用Tkinter GUI 工具包,也是一个跨平台工具,可以工作在 Windows, macOS与Linux 上;(2) 它具有多窗口文本编辑器的良好功能,具有调用提示、智能缩进、撤消等许多功能;(3)它还支持对话框、浏览器和可编辑配置。缺点:(1) 它有一些正常的使用问题,有时它缺乏焦点,在代码自动补全方面只支持内置标准库;(2)在界面上缺少一些基本的设计,比如缺少行号。
4. 软件安装
4.1 Anaconda安装
步骤 1:下载安装包,不建议官网下载Anaconda | The World's Most Popular Data Science ,官网下载太慢了,推荐下载地址 点击这里到清华镜像站下载
步骤 2:Anaconda 使用技巧、经验总结-----base环境,自建环境_anaconda base环境
参考文档
【1】conda删除环境_Frank(Zhiyang-Dou)的博客-优快云博客_conda 销毁环境
【2】Pycharm 配置 Anaconda中解释器--小白心得 - 知乎