Python开发环境与工具概览

作为一名有着10多年开发经验的程序员,先后使用过C、PHP、Golang,今年开始学习大模型相关的知识,力争成为一名AI模型全栈工程师。在用过的编程语言中,C和Golang是开发环境部署最简单的,可以说基本不用怎么部署。特别是在MAC上,基本上下载安装包,双击安装就可以使用。至于包管理、版本控制也容易上手。但是Python就不一样了,Python的开发环境部署相对复杂,而且坑很多。对于一个新手小白,我介绍几个常见的概念。

Anaconda

如果不是因为学习科学计算而安装的python,那么完全不需要anaconda。只需要安装python即可。anaconda是一个数据科学和机器学习的python发行版,内置了很多科学计算和机器学习相关的包。如果你是一个数据科学家或者机器学习工程师,那么anaconda是你的首选。当然,学习AI大模型的话,也是首选。

Miniconda & Conda

在介绍miniconda之前,有必要先介绍conda。我们知道,python有不同的版本,比如版本python2和python3。这些版本之间的包是不兼容的。conda是一个包管理工具,可以帮助我们管理不同版本的python。Miniconda是一个很小的anaconda发行版,只包含conda和一些必要的包。

开发工具 (IDE)

环境和包管理解决了,那么写代码就需要一个称手的开发工具,专业名称是IDE(集成开发环境,英文全称是Integrated Development Environment),jupyter notebook & jupyter lab & pycharm都是干这事的。

Jupyter Notebook & Jupyter Lab

jupyter notebook是一个交互式笔记本,支持多种编程语言,是数据科学家的首选。jupyter lab是jupyter notebook的升级版,支持更多的功能。

PyCharm

pycharm是一个专业的python IDE,功能强大,支持多种插件,是python开发者的首选。

从上边的介绍可以看出,如果我们需要一个交互式的开发环境,就是我们输出一些内容,就需要知道能够得到什么结果,那么jupyter notebook是首选。如果我们需要开发一个完整的项目,就是我们需要一个IDE,那么pycharm是首选。

来个总结

Anaconda

  • 用途: 数据科学和机器学习的Python发行版。
  • 特点: 包含许多预装的科学计算和机器学习库。

Miniconda

  • 关系: Anaconda的精简版。
  • 内容: 包含Conda和一些基本包。
  • 适用: 需要较小安装体积的用户。

Conda

  • 功能: 包管理和环境管理工具。
  • 作用: 安装和管理Python包,创建不同版本的Python环境。

Jupyter Notebook

  • 类型: 交互式计算平台。
  • 支持: 多种编程语言。
  • 优势: 适合数据科学和机器学习的探索性工作。

Jupyter Lab

  • 关系: Jupyter Notebook的增强版。
  • 特点: 提供更高级的功能和更灵活的界面。

PyCharm

  • 类型: Python集成开发环境(IDE)。
  • 适用: 大型项目开发。
  • 功能: 代码自动完成、分析和图形化调试。