在Ubuntu网站上,为Python包列出了三个依赖项。但是,当我使用apt-get install python
时,会安装另外六个软件包。
所以,Ubuntu包说我需要:libpython、python-minimal和python2.7。
而且,apt-get说我需要: libpython-stdlib,libpython2.7-极小,libpython2.7-stdlib,python-极小,python2.7和python2.7-最小。
这种差异是从何而来的?在输入apt-get install ...
命令之前,我将使用什么引用来知道将安装哪些附加包。
发布于 2019-05-12 17:12:53
这些是递归依赖关系。
依赖关系图(手动绘制,因此过于简化,只包括您提到的包)如下所示:
python
├── libpython-stdlib
│ └── libpython2.7-minimal
├── python2.7
│ ├── libpython2.7-stdlib
│ └── python2.7-minimal
└── python-minimal
└── python2.7-minimal
您知道,每个依赖项只是一个常规的包,可以有更多自己的依赖项。您可以通过单击所有依赖包(带有红色点的)的链接并对每个条目递归地重复该信息,从而在https://packages.ubuntu.com上获得该信息。不幸的是,这是一项累人的任务。
了解需要安装哪些包的最简单方法是只运行sudo apt install PACKAGE
命令并查看其输出。或者,如果你想安全,什么也不做,你只需要得到信息,你只能模拟安装:
apt -s install PACKAGE
还有apt depends PACKAGE
可以列出包的直接依赖项(和其他关系),但是如果添加--recurse
以获得间接依赖关系,则列表会变得太长,无法读取,因为会显示大量重复项和不相关条目。--important
在这方面有一定的帮助,但没有太大帮助。另外,请记住,通常您已经安装了许多这些依赖项,因为其他的依赖项依赖于它,因此这也不会告诉您另外需要安装什么。
https://askubuntu.com/questions/1142667
复制相似问题