pip/conda/mamba

pip和conda是Python包管理的两种主要工具,pip专注于Python包,而conda更全面,支持多种语言和环境管理。conda的多线程优化版mamba则提供更快的依赖解决和下载速度。对于数据科学工作,conda和mamba可能是更好的选择。文章还介绍了如何使用mamba创建和管理环境,以及环境的迁移方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pip/conda 区别

众所周知,在使用Python语言时有时会需要导入第三方库,而在导入第三库之前需要先安装该库,而安装方式有两种,分别是通过pip install 和 conda install 的方式,那么这两种方式有什么区别呢?可能就会有新手对这两种方式的区别有点懵,这里我就详细介绍一下 pip 和 conda 的区别。

区别1

pip仅仅是包管理工具,而conda不仅仅是包管理工具,conda的功能比pip更多。

区别2

pip仅限于Python包的安装更新卸载,conda包括且不限于Python、C、R等语言。

区别3

pip能安装pypi里的一切Python包,更加全面和专注,而conda可安装的Python包数量相比pip要少很多。

区别4

pip不支持创建Python虚拟环境,得安装了virtualenv包才可以,而conda是支持创建Python虚拟环境的。

区别5

pip install -r requirements.txt更加流畅,而conda install -r时一旦未找到某个包,便会中断。

以上就是pip和conda的主要区别了,有没有解决你对它们的些许困惑呢?我个人比较喜欢使用pip,因为pip安装速度比conda要快,而且所有的python库它都支持,哈哈。当然如果你是做数据科学类的相关工作的话,用conda也是一个不错的选择。

conda/mamba区别

Mamba 底层依赖于conda,conda是单线程,Mamba做了优化可多线程下载,Mamba兼容conda的命令。

使用​​多线程下载​​repository data和packages;
Mamba使用​​libsolv加速解决依赖关系​​ (减少上面图中Solving environment:转圈圈的时间);
Mamba的核心部分是通过C++实现,以获得最大执行效率;
最重要的是​​Mamba可与conda完美兼容​​ (将conda执行命令中的conda换做mamba即可)。


conda/mamba环境安装

wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-x86_64.sh
sh Miniconda3-py310_23.1.0-1-Linux-x86_64.sh
conda install mamba -n base -c conda-forge
mamba env create -f environment.yml

创建单项目依赖虚拟python环境

conda ,mamba可以创建但项目虚拟环境,可针对不同的python版本创建。

具体自己搜索。

项目依赖环境迁移

如果我们想要把⼀个conda环境和对应版本的包迁移到别的机器上,那就首先需要导出环境:

conda activate py37 # 激活要导出的环境
conda env export > environment.yml # 导出环境配置,此种方法只能导出相同系统,如 windows机器的配置只能导出给windows使用,不能给linux使用
pip freeze > requirement.txt # 也可以用pip导出,此种方法不限制机器


然后在新机器上重建环境:


conda env create -f environment.yml # 直接利用conda重建 # 或是先安装环境,再用pip重建
或者 mamba env create -f environment.yml
conda create -n py37 python=3.7 -y
pip install -r requirement.txt

 参考

pip/conda/mamba安装拓展 - 简书

pip 和 conda 什么区别? - 简书

一文解释 conda,pip,anaconda,miniconda,miniforge - 知乎

Building wheels for collected packages: causal_conv1d Building wheel for causal_conv1d (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [51 lines of output] A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.3 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "/home/dachuang2024/causal-conv1d/setup.py", line 20, in <module> import torch File "/home/dachuang2024/.conda/envs/unet_mamba/lib/python3.10/site-packages/torch/__init__.py", line 1382, in <module> from .functional import * # noqa: F403 File "/home/dachuang2024/.conda/envs/unet_mamba/lib/python3.10/site-packages/torch/functional.py", line 7, in <module> import torch.nn.functional as F File "/home/dachuang2024/.conda/envs/unet_mamba/lib/python3.10/site-packages/torch/nn/__init__.py", line 1, in <module> from .modules import * # noqa: F403 File "/home/dachuang2024/.conda/envs/unet_mamba/lib/python3.10/site-packages/torch/nn/modules/__init__.py", line 35, in <module> from .transformer import TransformerEncoder, TransformerDecoder, \ File "/home/dachuang2024/.conda/envs/unet_mamba/lib/python3.10/site-packages/torch/nn/modules/transformer.py", line 20, in <module> device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), /home/dachuang2024/.conda/envs/unet_mamba/
最新发布
03-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

life1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值