<package name =“”>和python- <package name =“”>有什么区别?

时间:2019-03-06 17:35:17

标签: python ubuntu jupyter-notebook tornado

我想将龙卷风降级到以前的版本,因为新的版本会根据此处的答案Jupyter notebook kernel not connecting导致错误。我在虚拟环境中使用Ubuntu。

要检查它的当前版本,我使用了pip freeze并得到了这个:tornado == 6.0.1。当我使用apt-cache policy tornado时,输出为:“无法找到包裹龙卷风”。当我键入apt-cache policy python-tornado时,输出为“ python-tornado:已安装:4.5.3-1”。

如何从这里继续?我的最终目标是使jupyter笔记本运行,并且我需要为此找出龙卷风模块。龙卷风和python-tornado有什么区别?我应该关心哪一个?

1 个答案:

答案 0 :(得分:1)

其中一个名称是实际的软件包名称,它是published to the Python Package Index (PyPI),它是pip处理的名称空间。

另一个是您的Ubuntu操作系统设置的名称,并给出了版本字符串,我猜您正在使用Ubuntu 18.04 Bionic Beaver。 Ubuntu使用严格的命名约定,其中所有Python软件包都必须以python-前缀开头。这些软件包由您的OS软件包管理器管理和安装。

如何进行取决于您的Jupyter设置。如果它是从virtualenv安装并运行的,那么当virtualenv处于活动状态时,可以使用pip命令来更改版本。考虑到使用pip应该已经确保您安装了兼容版本;如果jupyter是独立升级的,则可以尝试升级 tornado

如果您使用的是受Ubuntu管理的jupyter package,则软件包管理器也应负责匹配版本。

但是,如果您使用的虚拟环境仍然可以访问操作系统托管的jupyter系统,而在本地仅安装了龙卷风,那么您要将 add jupyter添加到您的virtualenv中以屏蔽系统版本,太旧了。