Conda的安装、配置和使用

什么是Conda、Miniconda、Anaconda

Conda、Miniconda和Anaconda的关系

Conda是一个包和环境管理的工具。支持Windows、macOS和Linux。Conda可以快速的安装、运行和更新包和相关的依赖。Conda也可以轻易地创建、保存、加载和转换环境。
Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了conda、conda-build、Python和众多科学计算的包及其依赖。
Miniconda 是一个 Anaconda 的轻量级替代,默认只包含了 conda,Python 和一些它们所以依赖的包。

为什么要使用Conda

一个典型的python 项目会使用多个包来完成其功能。其中一些包也可能被其他项目所使用(共享)。 项目之间共享的包可能会引起冲突。 比如,我们有两个项目P1和P2,P1使用NumPy 1.2版本,而P2需要NumPy 1.3版本,一个环境中存在两个版本就可能导致冲突。 解决这个问题的办法就是使用虚拟环境。我们可以为每个项目分别创建一个独立的虚拟环境,来隔离包冲突。

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

  1. Virtualenv
  2. Conda
  3. pipenv
  4. venv

通过使用这些工具,我们可以很容易的创建虚拟环境。

Conda的安装和配置

我们以安装Minconda为例。、 平台:windows 10。

下载安装

官网下载地址:docs.conda.io/en/latest/m...

当然,由于Anconda和Miniconda的服务器都在国外,下载速度有点感人。我们可以使用清华的镜像:mirrors.tuna.tsinghua.edu.cn/anaconda/mi...。 点击链接,进入Miniconda的镜像页面,如图。下载自己需要的版本。我这里选择的是Minconda3的23.5.2版本,默认Python版本是3.11,windows 64平台。

安装: 双击下载好的.exe文件。

根子自己需要选择为当前用户还是为所有用户安装。

选择安装目录。

  • 在开始菜单中,创建快捷方式。
  • 注册Miniconda3,使它能被VsCode、PyCharm等检测到。
  • 清楚缓存。

到此我们的conda已经安装完毕。此时,我们的开始菜单中多了如下几个目录。

我们可以通过 Anconda Prompt(conda) 使用conda。

如果你想在普通的cmd.exe中使用conda,需要将conda添加到系统的PATH环境变量中。具体来说,对于conda4.6之后的版本是将{conda的安装目录}\condabin 添加到PATH中。注意不是Scripts,这是conda 4.6之后的一个改变。 原因可以看Conda command is not recognized on Windows 10中 Simba 的回答。简单来说,就是之前将Scripts添加到PATH,它不仅将conda命令暴露给cmd,同时也会将base环境的python都暴露来给cmd。这样我们之前python就会被覆盖,无法使用。而condabin只会将命令暴露给cmd。

配置清华的channel

为什么要配置清华的channel呢,我们先解释一下conda的工作流程:

  1. 我们输入命令,告诉conda要安装的package
  2. conda从channel中下载我们指定的package。(channel是一个托管着很多package的仓库)

默认的channel服务器在国外下载缓慢,所以我们可以配置成清华的channel。 步骤:

  1. 生成.condarc 的文件:可以借助一下命令生成.condarc文件。这个文件会生成在你用户目录下。
bash 复制代码
conda config --set show_channel_urls yes
  1. 修改.condarc内容:打开.condarc文件,将mirrors.tuna.tsinghua.edu.cn/help/anacon...中的配置信息粘贴进去。
  1. 运行一下命令,清除索引缓存,保证用的是镜像站提供的索引。
bash 复制代码
conda clean -i 

conda的使用

创建conda环境

创建一个空环境

bash 复制代码
conda create --name {env_name}  #此处 --name 也可以简写成 -n
conda create --name myenv

你可以在创建环境时指定python版本和一些所需的包。

bash 复制代码
conda create --name {env_name} {python=x.x.x} package1 package2

例如:

bash 复制代码
conda create --name myenv python=3.7.5 pandas numpy

同样的,包的版本也可以指定。

激活环境

bash 复制代码
conda activate {env_name}

停用当前环境

bash 复制代码
conda deactivate

安装包packages

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

使用conda

bash 复制代码
conda install pkg_name1=x.x.x pkg_name2=x.x.x

使用pip

bash 复制代码
pip install pkg_name1==x.x.x pkg_name2==x.x.x

或者根据requirements.txt文件,安装多个包

bash 复制代码
pip install -r requirements.txt

查看环境中安装的包

  1. 查看当前环境中的包
bash 复制代码
conda list	
  1. 查看指定环境中的包
bash 复制代码
conda list -n {env_name}

查看环境列表

一下指令可以列出所有的conda环境。

bash 复制代码
conda env list
#or
conda info --envs # --envs可以简写成 -e

输出:

bash 复制代码
# conda environments:      
# 
env1                  *  C:\Users\tao\.conda\envs\env1    
mlenv                    C:\Users\tao\.conda\envs\mlenv   
myenv                    C:\Users\tao\.conda\envs\myenv   
test                     C:\Users\tao\.conda\envs\test    
base                     D:\conda   

当前激活的环境会有一个*标记。

删除环境

首先要确保你不在该环境中。

bash 复制代码
conda env remove -n env_name

创建一个相同的环境

要创建与现有环境相同的环境,需要显式地创建要复制的环境的规范文件,并在创建新环境时使用它。 步骤一:创建一个spec file

bash 复制代码
conda list --explicit > spec-file.txt

步骤二:

bash 复制代码
conda create --name myenv --file spec-file.txt

你可以在同一台机器或者不同的机器上,做此操作。

如果你想在某环境中安装spec file文件指定的包,运行以下命令。

bash 复制代码
conda install --name env_name --file spec-file.txt

跨平台分享环境(推荐)

当您尝试在另一个系统/平台中复制您的环境时,存在一个常见的问题。 当您创建环境和包时,假设您运行如下命令。 这将下载并安装许多其他依赖包,以便使您想要安装的包能够工作。 这很容易引入不兼容的软件包。 所以,可以采用如下方法:

bash 复制代码
conda env export --from-history > environment.yml

添加--from-history标志将只安装您使用conda要求安装的包。它将不包括依赖包或使用任何其他方法安装的包。

传入environment.yml文件,别人就可以重新创建你的环境。

bash 复制代码
conda env create -f environment.yml

环境回滚

Conda维护了您对环境所做更改的历史记录,这里的更改是指您使用Conda命令所做的更改。它允许您通过使用修订号revision numbers回滚。

激活环境后,首先使用它查看修订和修订号。

bash 复制代码
conda list --revisions

然后,回滚。

bash 复制代码
conda install --rev {revison_num}

Important Note: If you had installed other packages via pip install or other methods, those will not be exported to the environment file as well. So as a best practice, in order to share packages to other platforms, use conda to install packages (conda install pkg_name).

参考

Miniconda3的环境配置_miniconda3环境变量_Expected future的博客-CSDN博客 关于conda环境的配置,看这一篇就够了 Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror Conda --- conda 23.7.2.dev12 documentation Conda create environment and everything you need to know to manage conda virtual environment - Machine Learning Plus

相关推荐
惯师科技几秒前
TDK推出第二代用于汽车安全应用的6轴IMU
人工智能·安全·机器人·汽车·imu
HPC_fac130520678161 小时前
科研深度学习:如何精选GPU以优化服务器性能
服务器·人工智能·深度学习·神经网络·机器学习·数据挖掘·gpu算力
猎嘤一号2 小时前
个人笔记本安装CUDA并配合Pytorch使用NVIDIA GPU训练神经网络的计算以及CPUvsGPU计算时间的测试代码
人工智能·pytorch·神经网络
天润融通2 小时前
天润融通携手挚达科技:AI技术重塑客户服务体验
人工智能
Elastic 中国社区官方博客4 小时前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白5 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼6 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
珠海新立电子科技有限公司9 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董9 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦9 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3