【python虚拟环境管理【二】】【mac m3】使用conda管理python项目

一. python包管理概述

1. miniforge、Miniconda与Anaconda

Anaconda vs Miniconda


  • Anaconda 和 Miniconda 是一个公司的产品,商用是付费的,个人暂时免费;
  • Anaconda = Miniconda + more packages。
    Miniconda = Python + conda,安装最小的支持包,如openssl, ncurses…
    Anaconda = Python + conda + meta package 安装至少不低于400个常见的支持包,如curl, numpy, pandas…

 

Miniconda vs Miniforge


  • miniforge是由社区主导,用GitHub托管,完全免费,使用 (而且只用)conda-forge 作为(默认)下载channel,避开了Anaconda的repository,从而也就避开了商业使用被Anaconda追责的问题。

  • Miniforge是由社区主导,用GitHub托管,完全免费。


 

channel的定义


conda channels (源) 是 packages 存储的位置,也即是你是从哪个来源下载这个包,对应到conda内部处理则是下载文件的链接。因为不同源会有相同名字的包,因此必须指定来源,同时安装conda的时候也会有一个默认的channel。目前主流的就是 conda-forge,齐全且更新快。如果有多个channel,他们会按顺序确定优先级,优先的源上找不到,就会到下一个优先级的源上去找。

还可以设置channel的优先级是否strict,如果是strict的话,则只会在这一个源上查找。

  • Miniforge 使用conda-forge 作为默认 channel
  • Miniconda 使用anaconda.org 作为默认channel。

 

MacOS上的支持


  • Miniforge 比 Anaconda、Miniconda 更早支持了Apple M1芯片。在苹果官方的Tensorflow加速训练教程中也是推荐的Miniforge。

  • Miniforge相比Anaconda更为灵活轻便,安装体积小、运行速度快、支持mamba、支持PyPy等。


 

2. conda与pip的区别是什么?

Conda 和 pip 都是 Python 的包管理工具,但它们有一些区别,主要体现在以下几个方面:

  1. 包管理范围:
  • pip:是 Python 的默认包管理器,主要用于安装和管理 Python 包(也称为模块或库),这些包通常发布在 Python Package Index(PyPI)上。
  • Conda:是一个跨平台的包管理器和环境管理器,不仅可以管理 Python 包,还可以管理任何语言的软件包。
  1. 环境管理:
  • pip:虽然可以安装和管理 Python 包,但本身并没有直接提供环境管理的功能。通常需要结合 virtualenv 或者 venv 等工具来创建和管理虚拟环境。
  • Conda:除了包管理外,还具有强大的环境管理功能。Conda 可以创建、导出、复制和删除环境,允许用户在不同的项目中使用不同版本的软件包及其依赖项。

 

总结

  • conda的优势:包之间严格的依赖检查;是一个超越Python的环境管理器,可以创建多个环境,环境之间互相隔离;
  • pip的优势:绝大多数包优先发布到pip上,安装方便,群众基础好。

 
如果需要多个python环境,最好使用conda,因为它可以做创建多个py虚拟环境,互不影响(不同的项目依赖的python 包版本不一致)。

 

3. pip与conda配合使用

pip不像conda一样,它不知道环境,我们首先要确保我们用的是本环

### Conda环境管理Mac上的应用 #### 激活Conda环境 为了确保`pip`安装的软件包不会被放置于全局Python环境中,在开始任何工作前,应当激活一个特定的conda环境[^1]。 #### 安装Miniconda 对于初次使用者来说,可以通过下载并运行相应的Miniconda安装脚本来快速建立基础。具体而言,针对Mac M系列芯片(如M3),可以采用如下命令完成Miniconda的部署: ```bash mkdir -p ~/miniconda3 curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh ``` 上述过程会创建一个新的文件夹用于存储Miniconda,并通过网络获取最新版的安装程序来自动配置本地环境[^2]。 #### 设置国内镜像源加速下载 考虑到官方Anaconda仓库位于国外可能导致较慢的速度,推荐添加清华大学开源软件镜像站作为额外渠道以提高效率。这可通过下面几条指令实现: ```bash 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 ``` 这些更改使得后续所有的conda操作都将优先考虑更快捷稳定的国内资源链接[^4]。 #### 使用Pip配合Conda 当利用conda成功构建好所需的开发环境后,如果还需要进一步借助`pip`工具来进行某些第三方库的引入,则务必确认当前使用的确实是该环境下对应的`pip`版本。只有这样才能保证新加入的内容能够正确无误地集成进来而不影响其他部分的功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值