谈谈Anaconda

1. 引言

这里主要记录一下conda和pip的常用用法,顺便谈谈anaconda/conda/pip之间的一些区别。

2. 谈谈anaconda/conda/pip

  • anaconda:简单来说,anaconda就是一个包含conda这个通用包管理器以及这种数据科学包的发行版软件
  • conda:其实就是一个通用的包管理器。
    • 说它通用是因为它可以管理多种语言的包,像Python/R等,虽然大多数人最初是为了使用Python而安装它。
    • 基本不需要担忧包的依赖关系,大多数情况都能自动解决(这是如果单独Python并安装包时极为头疼的一件事)
    • 有自带管理虚拟环境的工具(解决某些工具的冲突问题,像pytorch和tensorflow等)
    • 使用的是二进制文件来管理
  • pip:专门用于Python的包管理工具
    • 与conda不同的是,只用于Python库的管理,但是可用包要比conda来得多。
    • 有时会提示依赖关系的错误,需要自己手动解决
    • 没有自带的管理虚拟环境的工具,需要用virtualenv等工具来解决
    • 使用的是源码或者wheel文件来管理(使用可以在github找源码来安装或者下载wheel来安装)
  • 可以同时使用conda和pip,不过可能会带来管理的混乱

3. conda的常用用法

3.1 conda信息

  • 查看conda的版本
    conda --version
    
  • 查看conda的信息
    conda --info
    
  • 配置信息
    # 显示配置信息(可添加config中的选项)
    conda config --show
    
    # 显示channels的配置信息
    conda config  --show channels
    
    # 添加新的channels(默认源的速度较慢,可切换为清华源)
    conda config --add channels urls
    
    # 删除channels
    conda config --remove channels urls
    
    # 设置配置信息中的选项
    conda config --set show_channel_urls yes
    
    第一次使用conda config会自动生成.condarc的配置文件,默认情况下是没有.condarc的,也可以通过向.condarc添加配置信息来修改默认配置
    使用.condarc来修改配置信息

3.2包管理

# 查看conda版本
conda --version

# 更新conda 
conda update conda

# conda安装包(默认安装最新的版本,如果指定大版本如3,默认会安装大版本中最新的版本如3.13)
conda install packages
conda install packages=version
conda install "packages>version1,<version2"

# conda更新包(也可以使用upgrade)
conda update packages
# 一次更新所有的包
conda update --all

# 卸载包(也可以使用uninstall)
conda remove packages 

# 查找某个包在channels中所有可用版本

conda search packages

# 列出环境中已经安装的包(conda list),配合管道命令查找某个包
conda list | grep packages (linux)
conda list | find "packages" (windows)

3.3环境管理

# 列出当前已有的虚拟环境(默认只有base环境)
conda env list
conda info --env

# 创建虚拟环境(如创建pt_gpu,预先安装python3.8)
conda create --name pt_gpu python=3.8
  
# 克隆已有的虚拟环境
conda create --name pt_gpu --clone base

# 激活指定环境
conda activate pt_gpu

# 退出其他虚拟环境,进入base环境
conda deactivate

# 删除虚拟环境
conda env remove --name pt_gpu

4. pip的常用用法

4.1 包管理

# 安转包(默认更新的版本方式和conda的相同)
pip install package
pip install package==version (指定安装版本)
pip install "package>=version1,<version2"

# 保存requirements文件
pip freeze > requirements.txt
pip install -r requirements.txt

# 更新pip
pip install pip -U
# 更新包
pip install --upgrade packages
# 一次更新所有未更新的包(用于linux, -o用于查看当前为旧版的包,cut从每一行中提取包的名字,xargs把包当成参数使用pip install --upgrade)
pip list -o | cut -d " " -f1 | xargs -n1 pip install --upgrade

# 查找所有可用版本的包
pip search packages

# 更换清华源的pip(设为默认)
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
posted @ 2020-09-22 22:07  jianli-Alex  阅读(1066)  评论(0编辑  收藏  举报