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

相关推荐
王 富贵5 天前
Conda常用命令大全
windows·conda
慕无言5 天前
pycharm2024选择conda环境
conda
HAPPY酷6 天前
Flutter 开发环境搭建全流程
android·python·flutter·adb·pip
灯下夜无眠6 天前
conda打包环境上传spark集群
大数据·spark·conda
万粉变现经纪人7 天前
如何解决 pip install 编译报错 ‘cl.exe’ not found(缺少 VS C++ 工具集)问题
开发语言·c++·人工智能·python·pycharm·bug·pip
YuSun_WK8 天前
使用conda配置环境时遇到的问题
conda
Caven778 天前
【Linux 技巧】如何在登录时自动激活 Conda Base 环境
linux·运维·conda
梁辰兴8 天前
PyCharm使用了Conda的虚拟环境创建的的Python项目,下载库(包)到该项目的虚拟环境中
python·pycharm·conda·错误·异常·异常报错
qq_203769498 天前
在conda环境中使用jupyter
python·jupyter·conda
爱吃面条的猿9 天前
Python修改pip install 指定安装包的路径和默认镜像源
linux·python·pip