导读
相信很多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的。
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开发环境的最优解