基础介绍

Conda可以构建不同的环境,同时可以对环境进行保存,加载和切换操作。由于可以方便地管理多个python环境,尤其是同时安装python2和python3,而且和pyinstall的相性很好,所以大力推荐以这种方式安装和管理python。
Conda分为ancondaminiconda两个发行版,其中miniconda仅包含程序必需内容,推荐使用
conda也包含python本体,装了conda就不用装本体了。conda的base环境就相当于仅安装python本体的普通环境。

Windows安装conda

安装

miniconda南京大学镜像站下载conda安装包。推荐版本:Miniconda3-py311_23.11.0-2-Windows-x86_64.exe

环境变量设置

windows下使用exe文件安装,注意选择“仅为自己安装”并添加到环境变量。默认安装位置为%USERPROFILE%\miniconda3。可以检查一下以下路径是否被加入了%PATH%里面。

%USERPROFILE%\miniconda3\
%USERPROFILE%\miniconda3\Scripts\
%USERPROFILE%\miniconda3\Library\bin\

赋予powershell执行脚本的权限

用管理员模式启动powershell并输入命令,下方两个语句二选一

#允许本地脚本
Set-ExecutionPolicy RemoteSigned
#解锁执行远程脚本的权限
Set-ExecutionPolicy Unrestricted

将conda连接到cmd或powershell终端

选择cmd或powershell执行以下代码**:**

conda init powershell cmd.exe
conda config --set auto_activate_base false

conda config --set auto_activate_base false的本质是在%USERPROFILE/.condarc 中添加auto_activate_base: false

关闭控制台并重新打开,如果执行conda activate myenv,命令行输入命令处的提示符从原来的C:/users/admin变为(myenv)C:/users/admin

Linux安装conda

安装

  1. miniconda南京大学镜像站下载conda安装包。推荐版本:Miniconda3-py311_23.11.0-1-Linux-x86_64.sh
  2. 执行如下指令,安装anaconda
bash Miniconda3-py311_23.11.0-1-Linux-x86_64.sh -p /opt/miniconda3

这里的/opt/miniconda3/也可以选择其他路径

  1. 按照安装提示,直接一路按空格就行,直到看到确认信息,输入yes,表示同意安装协议
Do you accept the license terms? [yes|no][no] 

输入yes

  1. 环境变量初始化
    此处询问是否初始化conda的环境,直接输入yes
Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no][no] >>> yes

新开一个控制台,如果执行conda activate base,命令行输入命令处的提示符从原来的[admin@localhost ~]变为(base) [admin@localhost ~]

如果不行的话,试试以下命令

cd ~
source ~/.bashrc

设置环境变量和终端

启动控制台的时候不想默认激活base,就这么设置:

conda config --set auto_activate_base false

conda config --set auto_activate_base false的本质是在~/.condarc中添加auto_activate_base: false

conda镜像源

修改%USERPROFILE%/.condarc(Windows)或~/.condarc(Linux),在原有的配置下面添加如下内容

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirror.nju.edu.cn/anaconda/pkgs/main
  - https://mirror.nju.edu.cn/anaconda/pkgs/r
  - https://mirror.nju.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirror.nju.edu.cn/anaconda/cloud
  pytorch: https://mirror.nju.edu.cn/anaconda/cloud

具体细节参考南京大学镜像站conda说明

替换pip镜像源

安装了conda以后,在conda环境里我们还是经常采用pip install的方法安装库,所以需要执行以下代码替换pip镜像源

pip config set global.index-url https://mirrors.cernet.edu.cn/pypi/web/simple

参考:校园网联合镜像站说明

新建、激活、切换环境

交互式命令行

# ========新建环境========
conda create -n $env_name python=X.Y
# 或者
conda create -n $env_name
conda activate $env_name
conda install python=X.Y
# ========激活环境========
conda activate $env_name
# ========退出环境========
conda deactivate
# ========删除环境========
conda env remove -n $env_name
# ========查看所有环境========
conda info -e

conda会在miniconda3/envs下为每个环境设置一个完整、独立的python环境,包括python.exepip.exe以及属于它自己的site-packages目录等。这意味着:

  • 在虚拟环境创建完成并激活后,可以使用pip安装包
  • 一些可以为脚本指定python解释器路径的开源程序,如sigil、libreoffice、inkscape等,可以把这样的环境视为一个完整独立的环境。

Visual Studio Code选择环境

正在编辑Python 代码文件时,在状态栏中选择和切换解释器
conda切换解释器

在bat或sh脚本中使用conda环境

方法1:

conda run -n ${你的conda环境} python -m main

如果方法1不能用的话,就用方法2:

source /root/miniconda3/bin/activate ${你的conda环境}
python -m main

conda包管理

升级环境内的python和pip

conda update conda
conda update pip
#升级python小版本,如3.9.12升级为3.9.13
conda install python
#更换base环境中的python版本
conda insall python=3.7

不同机器间的环境复制

# 激活需要导出配置文件的环境
conda list --explicit > env.yaml
# 在另一台机器上执行
conda create --name env_name -f env.yaml