Python基础—conda使用笔记
1. 环境配置

  • 由于用conda管理虚拟环境真滴很方便,所以主要使用conda,就不单独去装Python了。

1.1. Miniconda3安装

  • Miniconda3官网下载地址:Miniconda
  • Miniconda3清华镜像下载:清华镜像-Miniconda
  • 对于Windows系统:Miniconda安装跟正常的软件安装是一样的,这里不做过多描述。
  • 当然,可以参考博客,写得很详细:python与anaconda安装(先安装了python后安装anaconda,基于python已存在的基础上安装anaconda)——逼死强迫症、超详解

1.2. 配置环境变量

  • 在系统变量—Path中添加Miniconda的相关路径
  • 这里我的Miniconda的安装路径是:D:\DeveloperTools\Miniconda3,所以在Path中添加如下:
    D:\DeveloperTools\Miniconda3\Library\binD:\DeveloperTools\Miniconda3\ScriptsD:\DeveloperTools\Miniconda3
  • 环境变量配置了,就可以在任意位置下使用conda了

1.3. 设置国内镜像源1.3.1. 方法一:命令行方式

  1. 查看anaconda中已经存在的镜像源(channels:通道、渠道、途径)

    conda config --show channels
    • 如果没有设置过镜像源,则show channels结果显示:defaults(conda默认的通道,即从官网下载包)
  2. 添加国内镜像源,这里以清华镜像源为例(永久添加,可删除)

    conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    • 值得注意的是:上面设置的两个源的资源路径为:/anaconda/paks/free/anaconda/pkgs/main这就限制了只能在这资源路径之下查找我们需要的包。
    • 如果后面需要用到深度学习,TensorFlow、YOLO,PyTorch等,包的来源可能不再自己设置的两个资源路径之下,所以可能找不到。
    • 所以,建议直接多设置几个源,国内常用的镜像源(注:可能镜像源地址有变化,注意甄别)
      清华大学镜像源https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/阿里镜像源http://mirrors.aliyun.com/pypi/simple/http://mirrors.aliyun.com/anaconda/pkgs/mainhttp://mirrors.aliyun.com/anaconda/pkgs/freehttps://mirrors.aliyun.com/anaconda/pkgs/main/https://mirrors.aliyun.com/anaconda/cloud/conda-forge/https://mirrors.aliyun.com/anaconda/cloud/bioconda/豆瓣镜像源http://pypi.douban.com/simple/Python官方https://pypi.python.org/simple/
  3. 删除已添加的指定镜像源,例如:

    conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  4. 恢复为默认的镜像源(即从官网下载包)

    conda config --remove-key channels
  5. 设置搜索时显示通道地址,如果 C:\Users(用户)\username\路径下没有.condarc文件,则需要在cmd命令行执行如下命令

    conda config --set show_channel_urls yes
  6. 查看到Anaconda/Miniconda的所有信息,在channel URLs一栏,可以看到添加的镜像网站

    conda info

1.3.2. 方法二:修改 .condarc 文件

  • C:\Users(用户)\username\路径下的.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。
  • 如果C:\Users(用户)\username\路径下没有.condarc文件,则需要在cmd命令行执行如下命令
    conda config --set show_channel_urls yes


1.3.3. 补充

  • 后续在Pycharm中使用conda创建一个新环境时,发现上面的源设置有点问题,使用Pycharm总是无法创建,但在conda命令行中创建又可以。
  • 解决,参考文章:https://www.jianshu.com/p/b1e4f33f975a
  • 这里直接给出相关的设置,复制粘贴到.condarc文件中即可
    channels:  - defaultsshow_channel_urls: truechannel_alias: http://mirrors.tuna.tsinghua.edu.cn/anacondadefault_channels:  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels:  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

1.3.4. 设置临时镜像源

  • 有时也可能只需要临时使用某个镜像源下载某个模块,则可以临时指定下载的镜像源
  • 直接指定安装模块时使用的镜像源地址,以opencv为例:
    conda install opencv -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

2. conda使用

  • 使用前,可以了解什么是虚拟环境?以及如何配置虚拟环境?
  • 可参考文章:什么是虚拟环境?以及如何配置虚拟环境

2.1. 自定义conda创建虚拟环境的默认路径

  • 由于使用conda创建的虚拟环境,默认是保存在C盘下的,随着后面虚拟环境创建的越多,下载的包越多,则占用的空间越大,所以修改conda创建虚拟环境的默认路径到其他盘。
    conda创建虚拟环境的默认路径为 C:\Users\your_username\.conda\envs\conda安装包的默认路径为 C:\Users\your_username\.conda\pkgs\若不想占用C盘空间,需要修改 conda 虚拟环境的默认路径 和 安装包的默认路径
  • 当然如果你的空间足够大,也可以不用设置。
  • 参考文章:修改conda默认envs_dirs和pkgs_dirs

2.1.1. 方法一:命令行方式

  1. 在Anaconda Prompt 或 cmd 中执行如下命令
    • 注:路径改为你自己想要保存conda虚拟环境的路径
    conda config --add envs_dirs D:\DeveloperTools\Miniconda3\envsconda config --add pkgs_dirs D:\DeveloperTools\Miniconda3\pkgs
  2. 在Anaconda Prompt 或 cmd 中执行下列语句,查看是否配置成功
    conda info  #在 envs directories 一栏看到自己设置的虚拟环境路径# 或conda config --show   #在 envs_dirs 和 pkgs_dirs 栏都可以看到自己设置的虚拟环境路径

2.1.2. 方法二:修改.condarc 文件

  • C:\Users(用户)\username\路径下的.condarc文件中添加需要存放conda虚拟环境的路径

    envs_dirs:  - D:\DeveloperTools\Miniconda3\envs  - D:\DeveloperTools\Miniconda3\pkgs

  • 按照方法一中的命令,可查看是否配置成功。

2.1.3. 补充:对于 Windows设置未生效的情况

  • 对于 Windows11或其他Windows版本,有时候即使conda info查看添加的虚拟环境路径已存在,但是当添加一个新的虚拟环境时,还是下载到了默认的C盘的路径下。

  • 解决办法:修改自己用于保存conda虚拟环境的文件夹的权限,以及设置的envspkgs文件夹的权限为:完全控制

  • envspkgs文件夹同理,权限也需要设置为:完全控制

2.2. conda命令对python虚拟环境管理

  1. 查看conda配置的所有虚拟环境,终端中,左边显示的(base)表示安装conda时自带的基础环境

    conda env list  (或conda info --envs,简写:conda info -e)# 说明:结果中星号"*"所在行即为当前所在环境

  2. 创建新的虚拟环境

    # conda create --name your_env_name python版本例如:conda create --name PyTorch python=3.8# 安装一个名为PyTorch的Python虚拟环境,Python版本是3.8(不用管是3.8.x,conda会为我们自动寻找3.8.x中的最新版本)# 在指定文件路径创建conda create --prefix=C:/ProgramData/Anaconda3/envs/pytorch python=3.8
    • 如果创建虚拟环境时没有指定Python的版本,那么默认会安装与Anaconda / Miniconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python2.x;如果安装Anaconda第3版,则会自动安装Python3.x
  3. 使用指定的某个虚拟环境

    # conda activate 虚拟环境名称conda activate PyTorch  # 激活名称为 PyTorch 的虚拟环境
  4. 退出/关闭指定的某个虚拟环境

    conda deactivate
  5. 删除指定的某个虚拟环境

    • 注:不要在所处的当前环境内,删除当前环境!否则可能会出现异常
    # conda env remove --name your_env_nameconda env remove --name PyTorch# 或# conda remove --name your_env_name --allconda remove --name PyTorch --all
  6. 克隆(复制)一份已有的虚拟环境

    • 因为本来没有给虚拟环境重命名的,所以理论上可以用克隆(复制)后再删除原来的环境的方式实现重命名
    • 但不建议这样来重命名,因为修改后会有一些路径上的BUG
    # conda create --name new_env_name --clone old_env_nameconda create --name Tensorflow --clone PyTorch# 复制名为 PyTorch 的虚拟环境 以此用于创建一个新的名为 Tensorflow 的虚拟环境

2.3. conda常用命令

  • 注:在不同的虚拟环境中,查询包、安装包、更新包、卸载包都是独立的。
  1. 查看包
    conda --version    #查看系统安装的conda版本conda list         # 查看当前环境下已安装的包conda list --name your_env_name    #查看某个指定环境的已安装包conda search 库名    #查找package信息conda search 库名 -info   #查看某一个模块的信息,没有该模块则无
  2. 安装包
    conda install package_name     #在当前环境中安装包conda install package_name=version    #在当前环境中安装指定版本号的包# 当使用 conda install 无法进行安装时,可以使用 pip 进行安装# 对于 .whl 文件,conda命令似乎不能正确安装,还是要用pip命令才行
  3. 更新包
    conda update package_name      #更新当前环境中的指定包# 更新多个指定包,则包名以空格隔开,向后排列。例如:conda update pandas numpy matplotlib    #即更新pandas、numpy、matplotlib包conda update --all  #更新当前虚拟环境中所有的包# conda将conda、python等都视为package,因此,完全可以使用conda来管理conda和python的版本conda update conda       #更新conda,保持conda最新conda update anaconda    #更新anacondaconda update python    #更新当前虚拟环境下的Python版本,假设当前环境是python 3.8.10,运行后,conda会将python升级为3.8.x系列的当前最新版本
  4. 卸载包
    conda remove package_name     #卸载当前虚拟环境中的指定包

到底了 ?