一尘不染

dist-packages和site-packages有什么区别?

python

我对python软件包的安装过程有些不满意。具体来说,安装在dist-packages目录和site-packages目录中的软件包之间有什么区别?


阅读 803

收藏
2020-02-23

共1个答案

一尘不染

dist-packages是特定于Debian的约定,也存在于其衍生版本中,例如Ubuntu。当模块从Debian软件包管理器进入以下位置时,它们将安装到dist-packages中:

/usr/lib/python2.7/dist-packages

由于easy_install和pip是从软件包管理器安装的,因此它们也使用dist-packages,但是它们将软件包放在此处:

/usr/local/lib/python2.7/dist-packages

从Debian Python Wiki:

dist-packages而不是site-packages。从Debian软件包安装的第三方Python软件进入dist软件包,而不是站点软件包。这是为了减少系统Python与你可能手动安装的任何源Python构建之间的冲突。

这意味着,如果你从源代码手动安装Python,它将使用site-packages目录。这使你可以将两个安装分开,特别是因为DebianUbuntu在许多系统实用程序中都依赖Python的系统版本。

2020-02-23