conda 与 pip 工具笔记

前言

conda与pip是Python开发中常用的两种工具,conda本质是环境、包 管理工具,pip是管理工具,两者的功能有一定的重叠。本文主要记录开发工作中与两者相关的使用说明与注意事项。

  • 推荐用conda创建隔离的虚拟环境,用pip进行包安装。
  • conda安装的包存储在pkgs目录------通过conda info命令查看"package cahce"。pip安装的包存储在miniconda3系统或者虚拟环境的site-packages目录内,可通过pip show -f <package_name> 查看site-packages的目录地址信息。
  • 类似GPU版本的torch大型库,建议下载好wheel文件,避免在虚拟环境中重复下载;或者使用clone选项,基于已有环境新建。

Miniconda

Miniconda 是一个Mini型的Anaconda,包含conda、python以及二者的一些必须依赖环境。

Miniconda 安装

  1. windows 操作系统环境下安装:官网

  2. Linux 操作系统环境下安装:官网

  3. Linux下清华镜像源下载安装

    bash 复制代码
    # 下载最新版本
    wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh --no-check-certificate
    
    # 安装
    /bin/bash  Miniconda3-latest-Linux-x86_64.sh

conda 与 pip的区别

根据understanding-conda-and-pip全面总结 pip install 与 conda install 的使用区别。两者的主要区别包含:

  1. 安装包文件格式方面

    • pip 是python官方推荐的包安装工具,仅能安装python包------wheel版或源代码发行版。wheel属于已编译发新版的一种,下载好后可以直接使用;而源代码发行版必须要经过编译生成可执行程序后才能使用,编译的过程是在用户的机子上进行的。
    • conda 是一个跨平台(windows、Linux)工具,不仅能安装python包,也能安装C语言包;conda安装包是二进制文件,下载后即可使用,不需要经过编译。
  2. 安装源方面

    • pip默认从pypi (python package index)源安装,conda默认从conda reposity或者conda cloud安装。虽然Anaconda上有一些主流Python包,但在数量级上明显少于PyPI,缺少一些小众的包。
  3. 环境隔离方面

    • conda内置支持虚拟环境隔离能力
    • pip不具备环境隔离能力,需借助virtualenv或者venv工具管理虚拟环境。
  4. 包关系依赖方面

    • pip安装包时,尽管也对当前包的依赖做检查,但是并不保证当前环境的所有包的所有依赖关系都同时满足。当某个环境所安装的包越来越多,产生冲突的可能性就越来越大。
    • conda会检查当前环境下所有包之间的依赖关系,保证当前环境里的所有包的所有依赖都会被满足
  5. 包安装路径

    • 虚拟环境下,使用pip install安装的包存储在site-packages目录下------base(系统)环境与用户虚拟环境均存在site-packages目录,可通过pip show -f <package>查看目录信息。
    • conda install安装的库存储在pkgs目录下,可通过conda info查看pkgs目录地址信息。这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。

conda

conda config

首次安装后配置清华镜像源

bash 复制代码
# 配置
# 首次运行conda config命令,会在运行命令位置生成.condarc配置文件
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls true
conda config --set auto_activate_base true

# linux下生效配置
source ~/.condarc

配置文件层级

conda配置信息存储在".condarc"配置文件。在conda系统中,存在三种配置文件:

  1. 系统配置文件,默认在Miniconda安装路径,比如安装在linux系统中用户主目录"~/miniconda/.condarc"

  2. 虚拟环境配置文件,默认在虚拟环境目录下,比如,~/miniconda/envs/<envname>/.condarc

  3. 用户配置文件,默认在用户目录下,比如,~/.condarc文件。

如果对应位置没有".condarc"文件,则需要先使用conda config命令生成对应位置的配置文件

建议使用conda config命令进行配置信息写入与修改。

选项 描述
--system 告知conda配置系统层面的配置信息。
--env 告知conda配置虚拟环境层面的配置信息。
不指定system、env选项 如果调用conda config不指定system或者env选项,则默认配置用户层面的配置信息。

conda 更改虚拟环境名称

Conda:1秒钟修改虚拟环境名称: 首先在IDE中应确保退出目标虚拟环境,然后使用conda info -e查询虚拟环境的绝对路径,最后在绝对路径中直接修改目录名。

conda 常用命令

从已有环境创建新虚拟环境

bash 复制代码
conda install -n <new_env_name> --clone <existed_nev_name>

--clone <existed_nev_name> 选项可以复制一个已经存在的虚拟环境作为新环境的起点。建议每个项目新建一个独立的虚拟环境。

查看虚拟环境名称及绝对路径

bash 复制代码
conda info -e

查看虚拟环境版本变更历史

bash 复制代码
conda list --revisions

pip

pip 配置

配置清华源

bash 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

常用命令

查看安装包信息

bash 复制代码
pip show -f <package>

参考资料

Miniconda document
Pip document

相关推荐
MonkeyKing_sunyuhua19 分钟前
ubuntu22.04安装conda
conda·miniconda
Json____13 小时前
python的安装环境Miniconda(Conda 命令管理依赖配置)
开发语言·python·conda·miniconda
计算机学姐17 小时前
基于Python的影院电影购票系统
开发语言·vue.js·后端·python·mysql·pycharm·pip
东成20221 天前
从配置anaconda到配置pycharm
开发语言·python·conda
沙飞扬的时候2 天前
删除conda和 pip 缓存的包
pip
曼彻斯特的海边3 天前
CentOS 7上安装Conda
linux·centos·conda
小酒窝.3 天前
深度学习工具 Anaconda、conda、CUDA、cuDNN、pytorch、Cuda Toolkit 解释
pytorch·深度学习·conda
mhl11073 天前
Linux 上安装 conda 步骤实现
linux·运维·ubuntu·centos·ssh·conda·运维开发
天冬忘忧4 天前
PySpark 本地开发环境搭建与实践
spark·conda·pyspark
每天都要写算法(努力版)4 天前
【已解决,含泪总结】Ubuntu18.04下非root用户Anaconda3卸载重装,conda install终于不再报错
服务器·conda·anaconda3