Python基础—conda使用笔记

Posted 镜花月-冷月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础—conda使用笔记相关的知识,希望对你有一定的参考价值。

Python基础,关于conda的一些使用笔记记录

Python基础—conda使用笔记


1. 环境配置

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

1.1. Miniconda3安装

1.2. 配置环境变量

  • 在系统变量—Path中添加Miniconda的相关路径
  • 这里我的Miniconda的安装路径是:D:\\DeveloperTools\\Miniconda3,所以在Path中添加如下:
    D:\\DeveloperTools\\Miniconda3\\Library\\bin
    D:\\DeveloperTools\\Miniconda3\\Scripts
    D:\\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/main
      http://mirrors.aliyun.com/anaconda/pkgs/free
      https://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:
      - defaults
    show_channel_urls: true
    channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
    default_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/msys2
    custom_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\\envs
    conda 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_name
    conda env remove --name PyTorch
    # 或
    # conda remove --name your_env_name --all
    conda remove --name PyTorch --all
    
  6. 克隆(复制)一份已有的虚拟环境

    • 因为本来没有给虚拟环境重命名的,所以理论上可以用克隆(复制)后再删除原来的环境的方式实现重命名
    • 但不建议这样来重命名,因为修改后会有一些路径上的BUG
    # conda create --name new_env_name --clone old_env_name
    conda 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    #更新anaconda
    conda update python    #更新当前虚拟环境下的Python版本,假设当前环境是python 3.8.10,运行后,conda会将python升级为3.8.x系列的当前最新版本
    
  4. 卸载包
    conda remove package_name     #卸载当前虚拟环境中的指定包
    

到底了

安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境, 使用ubuntu 自带的Python环境

方法一:

退出base环境回到系统自带的环境

conda deactivate 

 

 

方法二

1,通过将auto_activate_base参数设置为false实现:

conda config --set auto_activate_base false

2,那要进入的话通过conda activate base

3,如果反悔了还是希望base一直留着的话通过

conda config --set auto_activate_base true

 

来恢复

 

以上是关于Python基础—conda使用笔记的主要内容,如果未能解决你的问题,请参考以下文章

安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境, 使用ubuntu 自带的Python环境

Python数据分析与可视化期末复习笔记整理(不挂科)

阻止包安装到conda基础环境

Linux云GPU训练yolov5,conda开了一个虚拟的conda 环境,bypy使用,利用conda虚拟环境中的python

如何防止 Conda 默认激活基础环境?

[学习笔记] [数据分析] 01.Python入门