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