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. 方法一:命令行方式
查看anaconda中已经存在的镜像源(channels:通道、渠道、途径)
conda config --show channels
- 如果没有设置过镜像源,则show channels结果显示:defaults(conda默认的通道,即从官网下载包)
添加国内镜像源,这里以清华镜像源为例(永久添加,可删除)
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/
- 值得注意的是:上面设置的两个源的资源路径为:
删除已添加的指定镜像源,例如:
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
恢复为默认的镜像源(即从官网下载包)
conda config --remove-key channels
设置搜索时显示通道地址,如果
C:\Users(用户)\username\
路径下没有.condarc
文件,则需要在cmd命令行执行如下命令conda config --set show_channel_urls yes
查看到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. 方法一:命令行方式
- 在Anaconda Prompt 或 cmd 中执行如下命令
- 注:路径改为你自己想要保存conda虚拟环境的路径
conda config --add envs_dirs D:\DeveloperTools\Miniconda3\envsconda config --add pkgs_dirs D:\DeveloperTools\Miniconda3\pkgs
- 在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虚拟环境的文件夹的权限,以及设置的
envs
和pkgs
文件夹的权限为:完全控制envs
和pkgs
文件夹同理,权限也需要设置为:完全控制
2.2. conda命令对python虚拟环境管理
查看conda配置的所有虚拟环境,终端中,左边显示的
(base)
表示安装conda时自带的基础环境conda env list (或conda info --envs,简写:conda info -e)# 说明:结果中星号"*"所在行即为当前所在环境
创建新的虚拟环境
# 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
使用指定的某个虚拟环境
# conda activate 虚拟环境名称conda activate PyTorch # 激活名称为 PyTorch 的虚拟环境
退出/关闭指定的某个虚拟环境
conda deactivate
删除指定的某个虚拟环境
- 注:不要在所处的当前环境内,删除当前环境!否则可能会出现异常
# conda env remove --name your_env_nameconda env remove --name PyTorch# 或# conda remove --name your_env_name --allconda remove --name PyTorch --all
克隆(复制)一份已有的虚拟环境
- 因为本来没有给虚拟环境重命名的,所以理论上可以用克隆(复制)后再删除原来的环境的方式实现重命名
- 但不建议这样来重命名,因为修改后会有一些路径上的BUG
# conda create --name new_env_name --clone old_env_nameconda create --name Tensorflow --clone PyTorch# 复制名为 PyTorch 的虚拟环境 以此用于创建一个新的名为 Tensorflow 的虚拟环境
2.3. conda常用命令
- 注:在不同的虚拟环境中,查询包、安装包、更新包、卸载包都是独立的。
- 查看包
conda --version #查看系统安装的conda版本conda list # 查看当前环境下已安装的包conda list --name your_env_name #查看某个指定环境的已安装包conda search 库名 #查找package信息conda search 库名 -info #查看某一个模块的信息,没有该模块则无
- 安装包
conda install package_name #在当前环境中安装包conda install package_name=version #在当前环境中安装指定版本号的包# 当使用 conda install 无法进行安装时,可以使用 pip 进行安装# 对于 .whl 文件,conda命令似乎不能正确安装,还是要用pip命令才行
- 更新包
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系列的当前最新版本
- 卸载包
conda remove package_name #卸载当前虚拟环境中的指定包
到底了 ?