首页 > 解决方案 > 了解一下Anaconda 好一点。Anaconda、pip、Jupyter Notebook、PATH

问题描述

我想我在计算机方面有足够的背景,在这一点上我应该比现在更好地知道它们之间的区别。

据我了解,Anaconda 本质上是 pip 的构建版本(基于 pip 构建?),它处理包和依赖项,而不仅仅是将它们放在您的计算机上。这样可以使您的系统更有条理,因此您没有混合环境。

Jupyter Notebook 似乎与 Anaconda 密切相关,但我很难理解如何。您似乎不需要在 anaconda 提示符下发出命令“jupyter notebook”,那么这里到底发生了什么?

我认为非常有益的事情是举一个例子,说明我在 conda 中下载了一个包,但如果我尝试制作一个通用的 .py 文件,它不会知道这个包(我是不确定这是否属实,但这似乎是拥有环境的目的。不是吗?)

我不认为这是相关的,所以我可以在单独的帖子中问这个问题,但是 PATH 与这些有什么关系?我认为 PATH 有点类似于 import 语句,但从一个非常宏观的角度来看。就像 PATH 中的某些内容比您的系统无需询问就知道它在哪里。这有什么意义还是我离我很远?

如果不了解所有这些事情是如何联系在一起的,我不知道我是如何做到这一点的。我觉得我在这里有很多已经很熟悉的流行语,但我不知道它们是如何组合在一起的。

提前致谢!

标签: anaconda

解决方案


命令行工具conda是一个包管理器(apt在 Linux 上考虑),还可以管理虚拟环境。您可以使用它来下载和安装 Python 包(除其他外)。所以是的,从这个意义上说,它可以与pip.

Anaconda是一个元包,即它只是一个包名称和版本号的列表,经过整理以确保所有这些包一起工作。当您安装 Anaconda Python 发行版时,您将获得命令行工具conda以及所有属于Anaconda.

为了运行Jupyter服务器,您需要某些 Python 包。这些包都是Anaconda元包的一部分。因此,当您Anaconda安装后,您已经可以访问启动笔记本服务器所需的一切。然而,这既不是conda也不Anaconda是必需的。这些Jupyter包只是可以以多种方式安装的常规 Python 包,conda就是其中之一。所以不,JupyterAnaconda没有真正捆绑在一起。

Avirtual environment是(简单地说)一个封装的 Python 解释器。即,当您在计算机上安装 Python 时,您可以运行python和(通常)相应的pip命令。pip安装关联的软件包python命令可以比访问。但是,当您要安装同一软件包的多个版本时,这会成为一个问题(一个项目可能需要特定版本,而另一个项目需要不同的版本)。您必须手动卸载并重新安装可能的许多软件包,以确保所有版本都是正确的。为了避免这个问题(以及其他一些问题),您可以创建一个虚拟环境,本质上是一个新的 Python 副本,这会导致您在计算机上安装多个 Python 解释器。当您想使用其中一种 Python 安装时,您必须通过激活环境来指定哪一种。这导致了您的一个问题:当您在一个环境中安装 Python 包时,它只会在那里可用,而不是在任何其他环境中(除非您也在那里安装它)。

这是对虚拟环境的一个很好的介绍:https ://realpython.com/python-virtual-environments-a-primer/

PATH变量而言: 1. 不,你离得不远了。非常简单(在这种情况下):激活环境将更改PATH以告诉您的系统使用哪个 Python 解释器。2. 由于它只与手头的主题相关,我在这里不做更详细的介绍。然而,搜索信息应该很容易PATH,它甚至有自己的维基百科条目:https://en.wikipedia.org/wiki/PATH_(variable)


推荐阅读