我试图解决我的问题ReText(使用 在整个系统内安装pip3
)。
我的两个 16.04 LTS 系统有不同的输出pip3 list
。
我知道pip3 list
显示所有软件包(使用pip3
和apt
/安装apt-get
)。
我也知道
- APT 安装东西到
/usr/lib/python3/dist-packages
; pip3
将系统范围的内容安装到/usr/local/lib/python3.5/dist-packages
。
如何确定安装了哪些 python 模块pip
以及安装了哪些python 模块apt
?
答案1
并非一成不变,但从询问 Ubuntu 问答:
正如 @Radu Rădeanu 在这个答案中指出的那样,软件包的名称通常也会有所不同。Canonical 通常将 Python 2 软件包命名为 python-,将 Python 3 软件包命名为 python3-。而对于 pip,我们通常只需要同时使用 Python 2 和 Python3 软件包。
一般来说:
- 如果包名称以 开头
python-
或python3-
由 进行安装apt
。 - 否则,软件包由
pip
答案2
我刚刚遇到了同样的问题。我想到的第一个强力方法是获取两个列表,然后以编程方式获取差异。伪代码如下:
pkg_all = $(pip3 list)
pkg_apt = $(dpkg -l | grep python3)
pkg_pip = substract(pkg_all, pkg_apt)
把 组合起来应该不难subtract
。将一个给定函数应用于 的所有元素pkg_all
,将另一个函数应用于 的所有元素pkg_apt
,这样两个列表就变成了一个共同的符号。然后对两个列表进行排序, 和diff
。
这只是增加了可接受的答案。
有关的: