配置整理
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- http://mirrors.aliyun.com/anaconda/pkgs/main
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
auto_activate_base: false
envs_dirs:
- F:\ProgramData\miniconda3\envs
pkgs_dirs:
- F:\ProgramData\miniconda3\pkgs
安装配置
下载
Anaconda官网
Anaconda下载镜像
Miniconda
安装/配置环境变量
安装目录中不能有空格
Anaconda
在安装时勾选添加到环境变量即可。
Miniconda
版本新版安装不会再提示添加环境变量,需要手动添加环境变量。
以为安装在F:\ProgramData\miniconda3
为例,分别在path变量添加以下路径
F:\ProgramData\miniconda3
D:\ProgramData\miniconda3\Scripts
D:\ProgramData\miniconda3\Library\bin
D:\ProgramData\miniconda3\Library\mingw-w64\bin
为了不影响原来的python环境建议将原来的py环境配置变量放到上方,conda
的配置放到系统python
之下
启动运行命令框,输入conda,如果结果显示如下图所示,说明Anaconda 的环境变量配置成功
windows
电脑修改PowerShell
运行策略
在PowerShell
出于安全考虑,默认的策略不允许执行脚本。不修改的话只能在cmd运行脚本。
Get-ExecutionPolicy
表示获得当前环境执行PowerShell
脚本的权限,这种权限有4个值
-
Restricted
,默认设置,不允许运行任何脚本
-
AllSigned
, 仅运行受信任脚本
-
RemoteSigned
运行本地脚本,不管这些脚本是否受信任;
-
Unrestricted
,允许运行所有脚本,甚至是不受信任的;
一般状况下把级别设置为RemoteSigned
这样方便脚本调试运行。
以管理员运行在PowerShell
窗口命令输入:
Set-ExecutionPolicy unrestricted
Conda 命令行初始化
conda init powershell
conda安装后, 运行 conda activate xxx 切换环境时, 可能会报错
需要管理员运行cmd设置否则部分无权设置
conda 需要对当前的命令行环境初始化才能使用, 请根据你所使用的命令行工具来进行初始化, 输入命令如 conda init powershell 或者 conda init bash. 输入之后, 重启命令行即可.
初始化完成之后, 正常情况下, 每条命令前会显示当前的conda环境
取消终端自动加载的base虚拟环境
在Conda 命令行初始化后,每次进入命令行都会自动加载conda(base)环境,导致系统python环境无法运行
conda config --set auto_activate_base false
执行后会在C:\Users\Hi\.condarc
配置文件最后生成一句auto_activate_base: false
同时不会在每次打开命令时间加载base环境
修改目录权限
默认情况新安装时miniconda3\envs
的envs目录只有管理员有权限读写,需要修改权限方便所有用户读写
镜像配置
修改所有环境下python pip的镜像
# 设置镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
有两种方式修改镜像源
直接命令号执行
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
编辑C:\Users\Hi\.condarc
文件,.condarc
可能是隐藏的。
Windows 用户无法直接创建名为 .condarc
的文件,可先执行 conda config --set show_channel_urls yes
生成该文件之后再修改。
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
修改创建环境位置
创建时没有找到anaconda安装目录下的envs这个路径,新创建的环境在C:\Users\xxx.conda\envs\ 中
注意将路径的划分线改为双斜杠
在 C:\Users\用户名下有一个 .condarc 文件,将其打开,在其末尾添加下面内容:
envs_dirs:
- F:\ProgramData\miniconda3\envs
pkgs_dirs:
- F:\ProgramData\miniconda3\pkgs
conda config --show
查看配置目录
修改默认启动环境
notepad $PROFILE # 将会打开(如果没有会自动创建)Profile。
conda activate notes # 在 Profile 文件中增加如下命令。下次,打开终端默认的 Conda python 环境将会是 notes 。
这个方法有用但是每次启用立即加载有点鸡肋了。还是老老实实去升级或降级base的py版本把
查看 conda 基本信息
# 查看 conda 版本信息
conda info
# 更新 conda 版本
conda update -n base conda
# 输出conda的配置
conda config --show
虚拟环境管理
激活/退出环境
# 激活
conda activate envname_xxx
conda activate env_path # 激活特定路径的环境
# 退出
conda deactivate
envname_xxx
表示要激活的环境,如果忘记了名称可以先用conda env list
查看所有虚拟环境
退出环境如果不在继续使用此命令行窗口,直接关闭该窗口静即可,关闭环境后面不需要指定环境名,默认关闭当前环境
修改创建环境位置
conda环境默认安装在用户目录C:\Users\username.conda\envs下,如果选择默认路径,那么之后创建虚拟环境,也是安装在用户目录下。不想占用C盘空间,可以修改conda虚拟环境路径。
创建时没有找到anaconda安装目录下的envs这个路径,新创建的环境在C:\Users\xxx.conda\envs\ 中
注意将路径的划分线改为双斜杠
添加下面两个前都需要先将对应目录权限开方否则会导致无法写入问题
在 C:\Users\用户名下有一个 .condarc 文件,将其打开,在其末尾添加下面内容:
envs_dirs:
- F://ProgramData//miniconda3//envs
pkgs_dirs:
- F://ProgramData//miniconda3//pkgs
conda config --show
查看配置目录
已有环境查看
conda-env list
新安装只会有一个base默认环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cRdr4udU-1689435571658)(https://gitcode.net/qq_40597070/pic_go/raw/master/202301102332189.png)]
创建新环境
conda create --name envname_xxx python=3.4
conda create -n envname_xxx python=3.4 # -n是--name的简写作用一样
conda create -n envname_xxx python=3.7 numpy=1.16. matplotlib # 也可在创建环境的同时安装一些其他包,也可以同时指定包的版本
conda create -n envName python==3.7.3 pip --no-deps # 创建环境但不安装默认的包
以上命令效果相同,python34
指创建新环境的名字,python=3.4
指创建环境python
版本,默认会自动安装该版本的最新版
需要注意经常会报错无权限操作目录,需要需要用管理方式打开命令行
第三种方式创建pip强烈建议安装否则将会直接使用自带的pip
删除环境
删除一个已有的环境和其中所有包
conda remove --name envname_xxx --all
删除某个环境, 还有一个比较暴力的方式就是直接删除anaconda安装路径下的 envs/env_name 文件夹
复制指定环境
conda create -n new_env_name --clone old_clone_env_name
复制环境,复制 old_env_name, 新环境命名为 new_clone_env_name
复制指定目录将old_env_name替换为已有的环境即可
不可通过复制 anaconda 安装目录下 envs 下的文件夹来复制环境, 因为这样的操作不会自己改变此环境里的配置信息, 对复制后的环境的操作会影响到原环境
查看环境历史记录
此功能类似于git的版本记录,不过这个只适用于conda安装的包pip包不会记录
# 查看指定环境历史记录回溯
conda list -n env_name -r
环境包回退到指定版本
conda list -n env_name -r # 查看指定环境历史记录回溯
conda install -n env_name --revision REV_NUMBER
先通过上面的命令列出所有版本, 然后通过下面这个命令会退到某个版本
环境重命名
# 新版本支持方法
conda-script.py rename [-h] [-n ENVIRONMENT | -p PATH] [--force] [-d] destination
conda rename -n 现在的名称 新的名称
# 例子
conda rename -n test123 test321
conda rename --name test123 test321
conda rename -p path/to/test123 test321
conda rename --prefix path/to/test123 test321
conda create -n old_env_name --clone new_clone_env_name
conda remove -n old_env_name --all
目前没有直接重命名的命令, 需要先 clone 再 remove 旧环境
包管理
列出已安装包
conda list
# 列出当前环境已安装的所有包
conda list --revisions
# 列出当前环境的包管理变化的版本历史,列出当前环境变化的版本历史,这个版本记录类似与git的记录, 记录你每次的包管理操作后环境记录,这个命令关键时候可以救命, 比方说你手贱升级了某个环境, 发现有问题想回滚到之前的环境状态时
conda list -n env_name
# 列出指定环境的所有包
conda list --name env_name --revisions
# 列出指定环境的包管理变化的版本历史
安装包
conda install package_name
conda install PKGNAME==3.1.4 # 安装指定版本的包,一个等号或2个等号均可
conda install --yes PKG1 PKG2 # 安装包且输出命令提示,也就是直接安装不需要确认, 再写自动运行的脚本时会很有用
更新包
# 以管理员身份启动 Anaconda Prompt 后,
# upgrade和update相同
conda update conda # 升级 conda(升级 Anaconda 前必需)
conda update anaconda # 升级 anaconda
conda update --all # 更新所有包,包括 Anaconda 和 conda
conda update --all -n env_name # 升级指定环境环境的所有包, 不加-n env_name则代表升级所有包
conda update <package> # 更新指定的<package> 包
conda update -h # 其他尝试
conda upgrade pip # 升级pip
# pip包更新
python -m pip install --upgrade pip
pip install --upgrade <package> # 升级指定pip包,不建议使用此方法升级conda安装的包
卸载包
conda remove package_name
conda uninstall package_name # 卸载当前环境的某个包
conda uninstall -n env_name package_name # 卸载指定环境的某个包
清理不用的缓存和包
conda clean --all
有时可以轻轻松松清理出几个G, 但如果不是硬盘空间特别有限的情况, 建议不用清理, 因为安装包如果缓存中有这个包就不用重新下载了
环境包导出、导入
导出
conda导出需要注意的pip安装的包不会导出
# 导出已经激活环境包到YAML文件
conda list --explicit > "C:\Users\Hi\Desktop\requirements.yaml"
# 导出已经激活环境包到txt文件
conda list --explicit > "C:\Users\Hi\Desktop\requirements.txt"
conda list -e > "C:\Users\Hi\Desktop\requirements.txt"
pip freeze > "C:\Users\Hi\Desktop\requirements.txt" # pip导出
导入
# 通过yaml文件创建环境
conda env create --file package_list.yaml # 从YAML文件创建环境
conda env create # 当前目录下有 package_list.yml 文件, 不输入文件名可以直接创建环境
# 通过txt文件创建环境
conda create --name new_env_name --file pkgs.txt
# 通过yaml或txt升级或者安装已有环境的包
conda env update --file package_list.yaml # 安装到全局环境(不激活已有环境的情况)conda导出的yaml或者txt文件均可
conda env update -n env_name --file package_list.yaml # 安装到指定环境,conda导出的yaml或者txt文件均可
pip install -r requirements.txt # pip安装到当前环境,需要pip导出的txt文件
通过pip导入需要注意,conda导入的txt比pip导入的txt多了一些信息,有时并不通用
Packages(包)和Channels(源/通道)的使用
# 添加 Channels
conda config --add channels CHANNELNAME
# 使用conda从已配置的Channels中搜索包, 可以带上版本号, 笔者注: 用得少, 图形界面的系统下, 可以直接百度/google搜索更方便一点
conda search numpy=1.16
# 使用anaconda从所有Channels中搜索包
anaconda search FUZZYNAME
# 从指定通道安装包,如
conda install conda-forge::PKGNAME