什么是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虚拟环境管理东西有:
- Virtualenv
- Conda
- pipenv
- 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的作业流程:
- 咱们输入指令,告诉conda要装置的package
- conda从channel中下载咱们指定的package。(channel是一个托管着许多package的仓库)
默许的channel服务器在国外下载缓慢,所以咱们能够装备成清华的channel。 过程:
- 生成.condarc 的文件:能够借助一下指令生成
.condarc
文件。这个文件会生成在你用户目录下。
conda config --set show_channel_urls yes
- 修正
.condarc
内容:翻开.condarc
文件,将mirrors.tuna.tsinghua.edu.cn/help/anacon…中的装备信息张贴进去。
- 运转一下指令,清除索引缓存,保证用的是镜像站提供的索引。
conda clean -i
conda的运用
创立conda环境
创立一个空环境
conda create --name {env_name} #此处 --name 也能够简写成 -n
conda create --name myenv
你能够在创立环境时指定python版别和一些所需的包。
conda create --name {env_name} {python=x.x.x} package1 package2
例如:
conda create --name myenv python=3.7.5 pandas numpy
相同的,包的版别也能够指定。
激活环境
conda activate {env_name}
停用当时环境
conda deactivate
装置包packages
一旦激活了环境,你就能够运用conda
和pip
在当时环境下装置你所需求的包。在conda环境中,不建议运用pip
。
运用conda
conda install pkg_name1=x.x.x pkg_name2=x.x.x
运用pip
pip install pkg_name1==x.x.x pkg_name2==x.x.x
或许依据requirements.txt
文件,装置多个包
pip install -r requirements.txt
检查环境中装置的包
- 检查当时环境中的包
conda list
- 检查指定环境中的包
conda list -n {env_name}
检查环境列表
一下指令能够列出所有的conda环境。
conda env list
#or
conda info --envs # --envs能够简写成 -e
输出:
# 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
当时激活的环境会有一个*
标记。
删去环境
首要要保证你不在该环境中。
conda env remove -n env_name
创立一个相同的环境
要创立与现有环境相同的环境,需求显式地创立要仿制的环境的标准文件,并在创立新环境时运用它。
过程一:创立一个spec file
conda list --explicit > spec-file.txt
过程二:
conda create --name myenv --file spec-file.txt
你能够在同一台机器或许不同的机器上,做此操作。
假如你想在某环境中装置spec file
文件指定的包,运转以下指令。
conda install --name env_name --file spec-file.txt
跨渠道分享环境(推荐)
当您尝试在另一个体系/渠道中仿制您的环境时,存在一个常见的问题。 当您创立环境和包时,假定您运转如下指令。 这将下载并装置许多其他依靠包,以便使您想要装置的包能够作业。 这很容易引进不兼容的软件包。 所以,能够采用如下方法:
conda env export --from-history > environment.yml
增加--from-history
标志将只装置您运用conda要求装置的包。它将不包括依靠包或运用任何其他方法装置的包。
传入environment.yml
文件,别人就能够重新创立你的环境。
conda env create -f environment.yml
环境回滚
Conda保护了您对环境所做更改的历史记录,这儿的更改是指您运用Conda指令所做的更改。它答应您经过运用修订号revision numbers
回滚。
激活环境后,首要运用它检查修订和修订号。
conda list --revisions
然后,回滚。
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