Miniconda——搭建Python开发环境的最优解
导读
相信很多IT从业者程序员都或多或少的存在一些强迫症属性,可能的表现包括:对软件安装的位置选择、代码编写的变量命名规范、文件归档分类等,有时候不能按照自己的预期进行配置总会暗自不爽——我个人是有这种感觉的。
最近,在重新组织自己个人电脑的Python开发环境时,因为原生Pip无法安装某个包,较为简单的解决办法是使用conda,于是便又重新折腾了一番,最终发现Miniconda或许可以成为自己搭建Python开发环境的最优解。本文特此记录。
Miniconda文档及下载:https://conda.io/en/latest/miniconda.html
Windows 10操作系统,主用Python3.8版本 需要安装Python基础的解释器,以供Pycharm、Vscode和jupyterlab 使用 需要对虚拟环境的支持(或多或少存在),比如一个用于搭建爬虫环境、一个用于搭建机器学习环境(统一用一个会造成第三方包过于臃肿,Pycharm加载过慢的问题) 部分包用pip安装困难,但是用conda则会简单的多(此次遇到的是prophet包,用pip安装解决gcc依赖简直是噩梦)
与此同时,个人对Anaconda没有太多好感:一方面源于其提供了很多IDE的入口,但却又并不实用;另一方面是anaconda管理的虚拟环境都会内置很多数据科学工具包,相当于你买了一台手机安装了很多出厂应用——当然,如果看着不顺眼,是可以选择手动给它uninstall的。
于是,一边厌恶于Anaconda的臃肿和繁杂,另一边又似乎存在对conda管理虚拟环境的刚需——二者结合,似乎Miniconda便顺其自然成了最优解!尝试一番,体验果真不错!
更重要的是,安装了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镜像地址即可,例如:
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的。
相关阅读: