环境和虚拟环境有什么区别?

What is the difference between an environment and a virtual environment?

我已经从 envornment.yml 文件创建了一个 conda 环境,并将在 jupyter notebook 中工作。

这个环境是虚拟环境吗?这和“主动”的有什么区别?如果是虚拟的,我相信我必须安装ipykernel。有人能告诉我这是做什么的吗?我是否总是需要安装 ipykernel 还是仅适用于 jupyter notebooks?

Conda环境本身就是一个虚拟环境 Jupyter notebook 不是一个环境,它是你的代码,你可能必须在运行宁说代码

时选择你正在使用的环境

我想我从来没有安装过 ipykernel,据我了解,它与您的 Jupyter notebook 有关,与环境无关 所以你在使用 Jupyer notbook 时需要它,但如果你运行宁一个 python 脚本

我不确定你所说的活跃问题是什么意思, 但环境的工作方式是将不同库的安装分开 例如:

first_env: python 3.5 numpy 1.1

second_env: python 2 numpy 1.0

并供您选择您需要的 python 版本和 numpy 版本,以激活您需要的环境 所以如果你需要 py 3.5,你就可以

conda activate first_env

然后 运行 你的代码在同一个终端 或者您可以通过 IDE

选择您的环境

检查您当前拥有的环境

conda env list

要检查每个环境有哪些库,您需要激活环境然后执行

conda list 

pip list 

这是 Conda documentation 以备不时之需