conda使用指南

conda使用指南

1. Conda 基本介绍

Conda是一个包和环境管理的工具。支持 Windows、macOS和 Linux。Conda可以快速的安装、运行和更新包和相关的依赖。Conda也可以轻易地创建、保存、加载和转换环境。

Anaconda是一个用于科学计算的 Python 发行版, 支持 Linux、Mac、Windows,包含了 conda、conda-build、Python和众多科学计算的包及其依赖。

Miniconda 是一个 Anaconda的轻量级替代,默认只包含了 conda, Python和一些它们所以依赖的包。

1.2 Anaconda 和 Miniconda 区别?

Miniconda是 Anaconda 的精简版本,同样也是一个开源环境,两者都是 conda系统的一部分。不同之处在于 Anaconda会预先安装许多常用的 Python套件,因此占用较多的硬盘空间。相比之下,Miniconda因为名为" Mini",因此仅安装运行所需的基本套件,对于有多个不同 Python版本共存的情况,可以节省大量空间。

Miniconda可以依据自己需求建立自己的 Python环境,想要的套件自行安装。

1.3 为什么要使用 Conda?

一个典型的 Python项目会使用多个包来完成其功能。其中一些包也可能被其他项目所使用 (共享)。

项目之间共享的包可能会引起冲突。

比如,我们有两个项目P1和P2,P1使用NumPy 1.2版本,而P2需要NumPy 1.3版本,一个环境中存在两个版本就可能导致冲突。解决这个问题的办法就是使用虚拟环境。我们可以为每个项目分别创建一个独立的虚拟环境,来隔离包冲突。

常用的 Python虚拟环境管理工具有:

  1. Virtualenv
  2. Conda
  3. pipenv
  4. venv
  5. uv
  6. pyenv

2. Conda 安装

省略

  1. 官方:miniconda的资源页面的链接
  2. 镜像:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站

下载安装即可

3. Conda 常用命令

3.1 基本命令

shell 复制代码
conda -help            # 查看帮助

conda info             # 查看 conda 信息

conda --version        # 查看 conda 版本

conda update conda     # 更新 Conda (慎用)

conda clean -all      # 清理不再需要的包

conda <指令> --help     # 查看某一个指令的详细帮助

conda config --show    # 查看 conda 的环境配置

conda clean -p         # 清理没有用, 没有安装的包

conda clean -t         # 清理 tarball

conda clean --all      # 清理所有包和 conda 的缓存文件

3.2 环境管理

3.2.1 创建 Conda 环境

使用 conda可以在电脑上创建很多套相互隔离的 Python环境,命令如下:

shell 复制代码
# 语法
conda create --name < env_name> python=<version> [package_name1] [package_name2] [......]

# 样例 创建一个名为 myenv 的环境, python 版本为3.10
conda create --name myenv python=3.12 # --name 可以简写为 -n
3.2.2 切换 Conda环境

前面说到 Conda可以创建多套相互隔离的 Python环境,使用 conda activate env_name 可以切换不同的环境。

shell 复制代码
 #语法
conda activate env_name

#样例 切换到 learn 环境
conda activate learn

如果要退出此环境,回到基础环境,可以使用如下命令

shell 复制代码
 #退出当前环境
conda deactivate
3.2.3 查看 Conda 环境

当电脑上安装了很多台 Conda环境的时候,可以使用 conda env list 命令查看所有已创建的 Conda环境。

shell 复制代码
# 查看当前电脑上所有的 conda环境
conda env list
3.2.4 删除某个 Conda 环境
shell 复制代码
# 语法
conda remove --name <env_name> --all

# 样例
conda remove --name learn - - all
3.2.5 克隆环境
shell 复制代码
# 语法
conda create --name <new_evn_name> --clone <old_env_name>#样例
conda create --name myclone --clone myenv

3.3 包管理

一旦激活了环境,你就可以使用 condapip在当前环境下安装你所需要的包。在conda环境中, 不建议使用 pip

3.3.1 安装包

在激活的环境中安装包,例如安装NumPy:

bash 复制代码
conda install numpy

可以使用以下命令安装特定版本的包:

bash 复制代码
conda install numpy=1.18
3.3.2 更新包

更新某个包到最新版本:

shell 复制代码
conda update numpy

#更新所有包到最新版本 (慎用)
conda update --all

执行命令后,conda将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本。当较新的版本可以用于升级时,终端会显示Proceed(y/n)? , 此时输入y 即可进行升级。

3.3.3 卸载包

如果不再需要某个包,可以将其卸载:

shell 复制代码
conda remove numpy
3.3.4 列出环境中的所有包

查看当前环境中已安装的所有包:

shell 复制代码
conda list

查看当前虚拟环境中已安装的某个包的信息

shell 复制代码
conda list pip
3.3.5 搜索包

搜索可用的包及其版本信息:

shell 复制代码
 conda search package-name

3.4 使用通道(忽略)

Conda通道 (Channel)是 Conda用来查找和下载软件包的源。通道就像是软件仓库,用户可以从这些通道中获取需要的软件包。理解和有效管理 Conda通道,可以帮助用户更好地控制软件包的来源、版本以及稳定性。

主要通道

  • 默认通道:这是 Conda自带的官方通道,由 Anaconda维护,包含了常用的数据科学和机器学习包。默认通道提供的包经过测试和优化,通常是稳定且值得信赖的。
  • Conda-Forge: Conda-Forge是一个社区驱动的通道,拥有数量庞大的软件包和活跃的维护者社区。通常情况下,Conda-Forge提供更多的最新软件包版本,对于一些在默认通道中没有的包来说尤为重要。由于是社区维护,更新速度快,适合需要最新特性和支持的用户。
  • Bioconda:专为生物信息学和生物数据分析设计的通道。包含很多用于生物数据处理和分析的工具。

查看已配置的通道

你可以使用以下命令查看当前配置的通道列表:

bash 复制代码
conda config --show channels

添加新的通道

如果需要从其他通道安装包,可以将其添加到 Conda配置中。例如,添加 Conda-Forge:

shell 复制代码
conda config --add channels conda-forge

设置通道顺序

通道是按顺序搜索的,优先使用在前面的通道。可以通过以下命令调整顺序:

shell 复制代码
conda config --set channel_priority strict

使用 strict优先级时,Conda会严格按照通道顺序来选择包。

删除通道

如果不需要某个通道,可以将其移除:

shell 复制代码
conda config --remove channels channel-name

临时使用特定通道

你可以在安装包时临时指定通道,而不改变全局配置。例如:

shell 复制代码
conda install package-name -c conda-forge

这样做会从 Conda-Forge通道安装指定的包。

通道优先级

Conda允许设置通道优先级,以决定从哪个通道下载软件包。默认情况下,Conda会根据通道列表的顺序依次查找包。你可以通过以下命令启用或禁用通道优先级:

shell 复制代码
conda config --set channel_priority true # 启用优先级
conda config --set channel_priority false # 禁用优先级

启用优先级后,Conda会严格根据通道顺序来选择包,确保从首选通道安装。

创建自定义通道

如果你需要在团队中共享包,或者需要托管私有包,可以创建自己的 Conda通道。自定义通道可以通过简单的HTTP服务器 (如NGINX或 Apache)托管,或者使用Anaconda的企业解决方案。

3.5 设置镜像

为了提高 Conda包的下载速度,特别是在网络连接到默认的 Conda服务器速度较慢的情况下,设置国内镜像 (或其他更接近你的地理位置的镜像)是一个常见且有效的方法。

以下是如何设置 Conda镜像的步骤:

方法一:通过命令行配置

你可以使用 conda config命令来添加镜像。例如,使用清华大学的 Anaconda镜像。

  • 打开命令提示符或终端。
  • 添加镜像URL:
shell 复制代码
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
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/r
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo
conda config --set show_channel_urls yes

默认情况下,conda config添加的通道会排在列表的头部,但你可以通过以下命令来确认顺序:

shell 复制代码
conda config --show channels

方法二:通过修改配置文件

你也可以直接修改 Conda的配置文件来设置镜像:

  • 找到并编辑 Conda的配置文件: ~/. condarc (Linux和macOS) 或 C:\Users<用户名>. condarc (Windows) 。TUNA 提供了 Anaconda 仓库与第三方源(conda-forge、msys2、pytorch等, 各系统都可以通过修改用户目录下的. condarc文件来使用TUNA 镜像源。Windows用户无法直接创建名为. condarc的文件, 可先执行 conda config -set show_channel_urls yes 生成该文件之后再修改。
  • 添加或修改如下内容:
shell 复制代码
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
	deepmodeling:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
# 更改环境目录
envs_dirs:
  - F:\.conda\envs
pkgs_dirs:
  - F:\.conda\pkgs
# 禁用自动激活环境
auto_activate: false

运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

验证和测试

在设置完镜像后,你可以通过安装软件包来测试镜像是否工作正常。例如:

shell 复制代码
conda install numpy

查看输出的信息,确保包是从你设置的镜像URL下载的。

3.6 环境导入与导出(忽略)

导出环境

将当前环境导出为一个YAML文件,方便共享:

shell 复制代码
conda env export > environment.yml

从文件创建环境

使用YAML文件创建一个新环境:

shell 复制代码
conda env create - f environment.yml
相关推荐
OpenApi.cc5 小时前
tiktok-person-detection || tiktok-scene-detection
人工智能·深度学习·神经网络·目标检测·数据挖掘
AC赳赳老秦5 小时前
OpenClaw 合规公开数据采集入门:合法边界、数据源选型与反爬规避实操指南
大数据·人工智能·python·信息可视化·php·deepseek·openclaw
阿童木写作5 小时前
Python实现跨境商品详情页自动翻译
开发语言·python·机器翻译
hhzz6 小时前
CNN猫狗图像分类实战:基于Keras+TensorFlow的卷积神经网络全流程解析
图像处理·python·深度学习·计算机视觉·cnn
Risk Actuary8 小时前
手动示例解释机器学习中 GBDT 算法原理
人工智能·算法·机器学习
血色橄榄枝14 小时前
基于用户注册信息的关键词检测挑战赛「Datawhale AI 夏令营」
人工智能·算法·机器学习
Haoxuekeji15 小时前
山东 AI 智能批改校园电子阅卷企业
大数据·人工智能·深度学习·安全·ai
梅雅达编程笔记18 小时前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
zhz521418 小时前
GIS项目中空间参考转换与MBTiles偏移:问题成因、解法与避坑
python·vue·gis