社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

AI科技大本营 • 2 年前 • 252 次点击  

作者 | luanhz

来源 | 小数志


导读

相信很多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: truechannels: - 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/ - defaultsshow_channel_urls: true
之后,即可畅快地使用conda带来的便利了。如果某些过于前沿的第三方库用conda找不到时(conda支持的python第三方库数量少于pip),当然也是可以使用pip install的。

技术

YYDS!Python实现自动驾驶

资讯

何同学又上热搜了,这次为什么?

技术

一起用Python做个AI出牌神器!

技术

用Python打造一个语音合成系统


分享

点收藏

点点赞

点在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132377
 
252 次点击