Miniconda——搭建Python开发环境的最优解

2022-09-19 11:35:06 浏览数 (1)

导读

相信很多IT从业者程序员都或多或少的存在一些强迫症属性,可能的表现包括:对软件安装的位置选择、代码编写的变量命名规范、文件归档分类等,有时候不能按照自己的预期进行配置总会暗自不爽——我个人是有这种感觉的。

最近,在重新组织自己个人电脑的Python开发环境时,因为原生Pip无法安装某个包,较为简单的解决办法是使用conda,于是便又重新折腾了一番,最终发现Miniconda或许可以成为自己搭建Python开发环境的最优解。本文特此记录。

Miniconda文档及下载:https://conda.io/en/latest/miniconda.html

首先陈述下自己对搭建Python开发环境的状态和需求:

  • Windows 10操作系统,主用Python3.8版本
  • 需要安装Python基础的解释器,以供Pycharm、Vscode和jupyterlab 使用
  • 需要对虚拟环境的支持(或多或少存在),比如一个用于搭建爬虫环境、一个用于搭建机器学习环境(统一用一个会造成第三方包过于臃肿,Pycharm加载过慢的问题)
  • 部分包用pip安装困难,但是用conda则会简单的多(此次遇到的是prophet包,用pip安装解决gcc依赖简直是噩梦)

与此同时,个人对Anaconda没有太多好感:一方面源于其提供了很多IDE的入口,但却又并不实用;另一方面是anaconda管理的虚拟环境都会内置很多数据科学工具包,相当于你买了一台手机安装了很多出厂应用——当然,如果看着不顺眼,是可以选择手动给它uninstall的。

于是,一边厌恶于Anaconda的臃肿和繁杂,另一边又似乎存在对conda管理虚拟环境的刚需——二者结合,似乎Miniconda便顺其自然成了最优解!尝试一番,体验果真不错!

简单来说,安装了Miniconda相当于安装了一个Python conda工具,其中不同的Miniconda内置不同的Python版本,其安装文件大小仅有60/70M,虽然比原生的Python安装文件大概大了一倍(纯Python安装文件约30M),但却比Anaconda这个庞然大物要精简不少。

更重要的是,安装了Miniconda就相当于可以在命令行中使用conda工具,conda工具可以直接管理Python第三方库的安装,也可以管理虚拟环境。二者的功能并不相同,个人认为核心区别可概括为三个方面:

  • 支持功能:pip仅可用于安装python包,而conda不仅可以安装python包,还可以用于管理虚拟环境,同时创建新的虚拟环境时还可支持不同的Python版本,例如你安装了内置Python3.8的miniconda,但可以创建一个Python3.7的虚拟环境——如果
  • 安装包类型:pip仅能安装Python第三方库,而conda除了Python语言的包之外,还支持C 、R等其他类型库的安装(这也是为什么conda可以直接解决windows下的gcc依赖问题)
  • 安装包来源:pip安装的第三方库来源于pypi.org,而conda安装的第三方库来源于conda repo(准确的说,pip的第三方库数量会更多一些),前者是.whl或python源码文件(利用setuptools安装),而后者则是二进制文件

所以,不严谨的讲,在Miniconda面前,安装官方Python软件没有任何优势!

当然,Pycharm也是支持管理虚拟环境的,但相较于conda建立系统级的虚拟环境而言,Pycharm似乎更倾向于搭建一个Project级别的虚拟环境。

安装好了Miniconda,也需要类似Pip一样配置镜像源,一般是直接在用户根目录下建立一个.condarc文件,并写入国内的conda镜像地址即可,例如:

代码语言:javascript复制
ssl_verify: true
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
show_channel_urls: true

之后,即可畅快地使用conda带来的便利了。如果某些过于前沿的第三方库用conda找不到时(conda支持的python第三方库数量少于pip),当然也是可以使用pip install的。

相关阅读:

  • 写在1024:一名数据分析师的修炼之路
  • 数据科学系列:sklearn库主要模块简介
  • 数据科学系列:seaborn入门详细教程
  • 数据科学系列:pandas入门详细教程
  • 数据科学系列:matplotlib入门详细教程
  • 数据科学系列:numpy入门详细教程

0 人点赞