conda虚拟环境总结与解读

文章目录

前言

csdn上有很多关于conda的文章,但是一直没有一个宏观一些的文章,我将从宏观角度出发,对文章进行一个整合,解读,将新同学从conda环境入门到配置,应用全流程进行解读。

当然,这篇文章因为是宏观一些,可能很多同学不能一次性看懂,没关系,这个可以反复看,在不同阶段都可以提供帮助。

conda环境概述

conda有什么用

一般需要用conda的时候,python已经学到一定程度了,开始进行一些应用了,这时就会有一种场景:A任务需要x,y包,B任务需要z,w包,但是y包和z包冲突,你无法同时做AB任务。

这时就需要用两个conda环境,分别安装xy包以及zw包,两个环境互相隔离,互不影响。

具体点,比如A代码需要tensorflow 1,B代码需要tensorflow 2,这也需要两个环境来分别承载。

进一步,如果你觉得某个环境不好了,直接进行一个删除,重装环境也很容易。

很好用吧,至于具体怎么在各种IDE中用,怎么切换,大致就如下图,很方便,配置好以后就可以一键切换。

conda虚拟环境总结与解读

; conda的环境层级

前面说了,conda可以创建若干个虚拟环境,你的电脑也可以安装python环境,miniconda也会自带python环境,这几个环境有什么关系呢?

首先是电脑的python环境和Miniconda环境应该是同一等级的,那当你在命令行里运行python命令的时候,优先选择哪个取决于环境变量的配置。一般安装了Miniconda,尤其是勾选了将路径添加到path后,默认的环境就会变成Miniconda自带的python。

环境变量是什么

我们把这两个称作基础环境,在miniconda里一般叫base或者root。

之后就是conda create创建的虚拟环境了,这些都是子环境。虽说叫子环境,但是实际上实际使用base和其他环境没太大区别,只不过不可以删除,所以从逻辑上我们把他提高高度,把全局的包都按在base里。

conda虚拟环境总结与解读

; Miniconda安装

与Anaconda的对比

很多人推荐安装anaconda,但是我推荐miniconda。

anaconda相当于一大堆包+conda工具,但是实际上这一大堆包没几个能用上的,占用空间太大,而且重装也很麻烦。

miniconda相当于一点基础包+conda工具。缺的包到时候自己安装就好。

我推荐尽量用miniconda从头开始安包,你对包的理解会更深。

注意版本与安装包来源

很多人就喜欢往高版本安,但是你去看工业界,都是用的稳定版,高版本一方面不稳定,另一方面环境适配也不太好。容易出现基础环境下包冲突的问题。

所以推荐安装3.7版本64位的Miniconda。

还有,推荐到官网下载,镜像网站下下来的,可能会有问题,这边有一个朋友就是被镜像搞了一下午心态,结果换回官网一下就成了。

Miniconda下载

conda命令

conda工具的命令网上有很多。

conda常用命令

需要注意的是,在虚拟环境里(包括base环境)安装包的时候,尽量用conda而不是pip,因为conda在包依赖的管理上更好。当我们conda安不了的时候,才能用pip。

虽然在conda环境里用pip也可以把包安到虚拟环境里,但是终归会有未知的影响。

conda install package_name

jupyter notebook安装+扩展

安装层级

首先你要知道,jupyter notebook是一个IDE,一个用户只需要一个IDE即可,而IDE可以调用各种conda虚拟环境,这说明jupyter notebook的层级,应该是miniconda级别的,是基础环境级别的。

所以直接在base里运行命令安装

jupyter notebook

conda install jupyter

jupyter安装

虚拟环境切换插件:nb_conda

光有虚拟环境还不行,要想在jupyter notebook里切换,需要一个插件。

conda install nb_conda

不过,后面还需要在conda环境里安装ipykernel才行。

主题切换插件:jupyter_themes

换一个清新的主题,调一调字体等布局,会很舒服。

切换主题

扩展插件集合:nb_extensions

更多插件可以提高效率。

扩展插件

conda环境创建与基本配置

一般安装只需要两个注意点,一个是name,一个是python版本

如果没有特别要求,一般安装3.7或者3.8。不加python版本命令,他就会安装3.10,这个版本的python不是很好用。

conda create -n env_name python=3.8

之后就可以激活conda环境进行进一步配置了

conda activate env_name

安装ipykernel,否则不会被nb_conda插件识别出来。很多文章里都写得是安装jupyter notebook,他们比较菜,没有认识到本质,其实只需要一个kernel即可,没必要安装整个jupyter.

conda install ipykernel

conda环境完善

基本命令

到这里,在jupyter notebook里就可以随意切换conda环境了,之后就是环境自定义了,想安什么包就安什么包即可。

conda install package_name

包找不到的情况

有时候conda找不到,可以添加-c conda-forge命令使用额外源,以pynput库举例

conda install pynput -c conda-forge

最后的最后,没办法了,你再用pip

pip install package_name

下载速度太慢

这个主要是因为软件包源头

conda换源

使用场景:IDE中使用

jupyter notebook中

其实这个前面已经说完了。

vscode&PyCharm

这两个IDE都可以在右下角切换环境,其中conda环境也可以切换。

进阶:Miniconda目录结构

conda虚拟环境总结与解读

第一级是Miniconda根目录,下面有若干个文件夹:

  1. bin有二进制文件
  2. scripts也是可执行的脚本文件
  3. Lib是base环境的库,其中site-packages是conda install的位置
  4. envs是虚拟环境目录。

conda虚拟环境总结与解读

envs下有若干目录,目录名字与虚拟环境名字对应

conda虚拟环境总结与解读

进入某个虚拟环境目录,Lib目录下面是虚拟环境的库

conda虚拟环境总结与解读
其中site-packages是conda install的位置。

这种层级结构符合我们前面说的,虽然base用的时候和虚拟环境类似,但是本质上base是凌驾于虚拟环境之上的。

Original: https://blog.csdn.net/weixin_50295745/article/details/126001612
Author: 亦梦亦醒乐逍遥
Title: conda虚拟环境总结与解读

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/673669/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球