/ usr / lib / python和/ usr / lib64 / python有什么区别?

sat*_*oru 5 python

我正在使用ubuntu。

我发现/usr/lib/python和都安装了许多Python库/usr/lib64/python

当我print使用模块对象时,模块路径显示该模块位于中/usr/lib/python

那为什么我们需要/usr/lib64/python目录呢?这两个目录有什么区别?

BTW

egg-info这两个目录中的某些软件包管理脚本实际上是指向中的软件包的链接/usr/share

大多数Python模块只是链接,但so文件不是。

nik*_*iko 5

Debian(可能是它的派生产品,最著名的是ubuntu)对两种体系结构都使用/ usr / lib。出于兼容性原因,/ usr / lib64作为到/ usr / lib的符号链接提供。一些较新的应用程序可能正在/ usr / lib64中寻找库,而一些旧代码可能正在使用/ usr / lib。其他发行版可以提供多体系结构支持,在同一台计算机上安装32位和64位库,然后将它们分别放置在/ usr / lib和/ usr / lib64中。这方面的一个例子是Arch Linux的,如所描述这里

无论如何,某些python库都是独立于平台的(.py代码),因此为两种体系结构创建一个单独的包以最大程度地减少维护工作是有意义的。然后,该软件包将自己安装在lib和lib64中,或者如您已经指出的那样,安装在从lib和lib64符号链接到的单个目录中。


Lev*_*von 3

64 位版本的库?

您运行的是哪个版本的 Python?如果您运行的是 32 位版本,那么您可能不需要这些文件。

  • 好的,如果有单独的 .so 文件,您可以检查 lib 和 lib64 文件是否实际上是 32 位和 64 位库(我相信“file”命令告诉您,这比使用 elftools 等更简单。 )。如果是这样,那么这个答案是 99% 正确的。如果您不想运行 64 位 Python,可以删除它们。 (2认同)