Python | conda 常用命令以及如何在 conda 环境中使用 pip

conda 常用命令以及如何在 conda 环境中使用 pip

  • 1. conda 查看版本
  • 2. conda 获取帮助
  • 3. conda 自动激活
  • 4. conda 包管理
  • 5. conda 环境管理
  • 6. conda 净化
  • 7. conda 环境迁移
    • 7.1 environment.yml
    • 7.2 requirements.txt
  • 8. conda 环境中使用 pip

1. conda 查看版本

conda --version
conda -V

在这里插入图片描述

2. conda 获取帮助

conda --help
conda -h

获取指定命令的帮助

conda install --help

3. conda 自动激活

conda config --set auto_activate_base false  #关闭自动激活状态
conda config --set auto_activate_base true  #关闭自动激活状态

4. conda 包管理

# 查看包
conda list # 列举当前环境下的所有包
conda list -n env_name # 列举指定env_name环境下的所有包

conda search package_name # 查看package_name软件包的详细信息
# 示例
# 查找发布者 conda-forge、sseefeld、gbrener 的包
# -c 表示 --channel
# --platform win-64 指定了系统
conda search -c conda-forge -c sseefeld -c gbrener --platform win-64 textadapter

# 安装包
conda install package_name # 安装package_name软件包
conda install package_name=version # 安装version版本的package_name软件包
conda install package1_name package2_name # 安装多个软件包
conda install -n env_name package_name # 为指定env_name环境安装package_name软件包
conda install --name env_name package_name # 为指定env_name环境安装package_name软件包

# 更新包
conda update package_name # 更新当前环境下package_name软件包
conda update --all # 更新当前环境下所有软件包
conda update package_name --no-pin # 防止package_name软件包更新

# 删除包
conda remove package_name # # 删除当前环境下package_name软件包
conda remove -n env_name package_name # 删除env_name环境下package_name软件包
conda remove --name env_name package_name # 删除env_name环境下package_name软件包
conda remove package1_name package2_name # 删除多个软件包

\qquad anaconda安装指定版本软件:

anaconda search -t conda package_name # 显示要安装的软件有哪些版本

Python | conda 常用命令以及如何在 conda 环境中使用 pip_第1张图片

anaconda show <USER/PACKAGE> # 查看指定包可安装版本信息

Python | conda 常用命令以及如何在 conda 环境中使用 pip_第2张图片

conda install --channel https://conda.anaconda.org/anaconda pytorch-gpu # 使用上一步输出的下载地址进行安装

5. conda 环境管理

# 获得帮助
conda env -h # 查看环境管理的全部命令帮助
conda env --help # 查看环境管理的全部命令帮助
# 列举环境
conda env list # 列举当前所有环境
conda info --envs # 列举当前所有环境
# 创建环境
conda create -n env_name # 创建env_name环境
conda create -n env_name package_name # 创建包含package_name软件包的env_name环境
# 进入环境
source activate env_name # 进入环境(macOS/linux)
activate env_name # 进入环境(windows)
# 离开环境
source deactivate # 离开环境(macOS/linux)
deactivate # 离开环境(windows)
# 删除环境
conda remove -n env_name --all
# 克隆环境
conda create -n new_env_name --clone old_env_name # 使用当前路径下old_env_name环境生成new_env_name环境
conda create -n new_env_name --clone /home/dong/anaconda3/envs/env_name/old_env_name # 使用指定路径下的old_env_name环境生成new_env_name环境

6. conda 净化

conda clean -p # 删除从不使用的包
conda clean --packages # 删除从不使用的包
conda clean -t # 删除tar包
conda clean --tarballs # 删除tar包
conda clean -y -a # 删除索引缓存、锁定文件、未使用过的包和tar包(-y, --yes Do not ask for confirmation)
conda clean -y --all # 删除所有的安装包及cache

7. conda 环境迁移

7.1 environment.yml

environment.yml文件用来在不同的平台或操作系统之间复制anaconda环境。

  • 导出anaconda的环境到environment.yml文件:
    conda env export > environment.yaml
    
  • 通过environment.yml创建anaconda环境:
    conda env create -f environment.yaml
    
  • 如果要指定其它安装路径,使用-p选项:
    conda env create -f environment.yml -p /home/dong/anaconda3/envs/env_name
    

7.2 requirements.txt

requirements.txt文件用来在相同操作系统的计算机之间复制anaconda环境。

  • 导出anaconda的环境到requirements.txt文件:
    conda list -e > requirements.txt
    
  • 通过requirements.txt创建anaconda环境:
    conda install --yes --file requirements.txt 
    
    这样的安装方式,如果requirements.txt中的包不可用,则会抛出“无包错误”。解决方法:
    # Linux
    while read requirement; do conda install --yes $requirement; done < requirements.txt
    # Windows
    FOR /F "delims=~" %f in (requirements.txt) DO conda install --yes "%f"
    

8. conda 环境中使用 pip

\qquad anaconda下使用pip的原因:虽然在anaconda下我们可以使用conda install指令来安装我们需要的软件包,但是anaconda中提供的可安装软件包远没有pip多,有时conda无法安装我们需要的包,我们需要使用pip将其装安装到conda环境。

  • 使用pip时的注意事项:
    • 确认环境中已经安装pip:若没安装,使用conda install pip来安装pip
    • 确认使用pip安装的软件包路径:使用which pip来查看使用的pip在哪个环境。
  • 换源:
    mkdir ~/.pip
    cd ~/.pip
    sudo gedit pip.conf
    
    加入下列内容:
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    

你可能感兴趣的:(python,python,ubuntu,linux)