我的网站

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

导读

相信很多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镜像地址即可,例如:


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的。


conda分为三类:

conda:是一种通用包管理系统,旨在构建和管理任何语言和任何类型的软件。举个例子:包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。


Anaconda:则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用的不常用的库都给你装好了。


Miniconda:,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。就只包含最基本的东西,其他的库得自己装

上面介绍的来源


1.为什么使用Miniconda:

(1)安装python便捷。无论是在win还是linux环境下,miniconda都是傻瓜式的安装方式,一路next即可,而不需要编译源码。

(2)方便的python库管理。conda在安装python包时会自动处理依赖包,只需要点确定就可以了。尤其是在安装opencv,TensorFlow等依赖较为复杂的包的时候,使用pip会需要手动处理很多依赖项,编译很多软件包,而conda不需要。conda甚至可以修改当前python的版本。

(3)方便的python虚拟环境管理。conda命令可以方便的创建和删除python的虚拟环境。否则需要自己安装virtualenv等python包。

(4)Anaconda作为一个python发行版携带了很多科学计算的python包,但它太大了,有些包也不需要。而miniconda就小得多,只携带了conda所必须的依赖包。


2Miniconda安装

2.1下载Miniconda

进入清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/。

进入路径:anaconda/miniconda

根据系统下载合适的版本。


2.2安装Miniconda

2.2.1Windows

(1)Windows下是一个exe文件,选好安装路径,一路next即可。

(2)进入环境变量设置界面。

(3)选择系统变量下的Path变量。


(4)把安装目录及目录下的Scripts添加到Path变量中。

(5)进入cmd,输入conda –V及python –V。


2.2.2Linux

(1)Linux下是一个bash脚本,会在当前路径下生成一个miniconda3文件夹。所以选择好要安装的路径后,输入bash 安装包名 ,然后全部默认选项即可。

注意:

a)只有查看协议的时候需要按空格翻页,接受协议的时候输入yes,其余均是回车,不需要输入任何东西,否则会有多余的设置。

b)Miniconda安装后可能会覆盖系统自带的python命令,使python命令指向Miniconda携带的python。但只是修改了软连接,并不会覆盖原python的文件。Miniconda的所有文件均在安装目录下的miniconda3文件夹内。

c) 如果不想原版本被修改,进入/usr/bin路径下,记录下python命令指向的路径,安装完成后修改回去即可。

(2)输入 source ~/.bashrc刷新bash。

(3)输入conda –V及python –V检查安装是否成功。


2.3Conda命令使用

(1)查看已安装的软件包:conda list

(2)安装软件包:conda install python=3.6.8

(3)卸载软件包:conda uninstall python

(4)创建虚拟环境:conda create –n env_name python=3.6.8

env_name为你虚拟环境的名字,python=3.6.8是指定虚拟环境中python的版本,如果不指定,则默认是安装Miniconda时的版本。

(5)进入虚拟环境:

Linux:source activate env_name

Win:activate env_name

在进入虚拟环境后会在命令提示的最前面添加(env_name)的标识。


(6)退出虚拟环境:

conda deactivate

退出虚拟环境后,命令提示前的环境名会消失。


2.4修改conda源

Anaconda的服务器在国外,所以在国内使用conda命令安装包时的下载速度很慢,一般会修改为国内的源。如果你使用的服务器在国外,就不需要修改了。

依次输入命令即可:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

添加其他软件源请查看:链接

————————————————

版权声明:本文为CSDN博主「GC-757」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_43193386/article/details/106238019



此文由 我的网站 编辑,未经允许不得转载!:首页 > 会·生活 » Miniconda——搭建Python开发环境的最优解

()
分享到:

相关推荐

评论 暂无评论