我使用的是ubuntu。
我发现许多安装的Python库同时包含/usr/lib/python
和/usr/lib64/python
。
当我print
模块对象时,模块路径显示该模块位于/usr/lib/python
。
为什么我们需要/usr/lib64/python
目录呢?
这两个目录有什么区别?
顺便说一句
两个目录中的一些包管理脚本和egg-info
实际上是/usr/share
中包的链接。
大多数Python模块只是链接,但so
文件不是。
答案 0 :(得分:4)
Debian(可能是它的衍生产品,最着名的是ubuntu)在两种架构中使用/ usr / lib。出于兼容性原因,/ usr / lib64作为符号链接提供给/ usr / lib。一些较新的应用程序可能在/ usr / lib64中查找库,而一些遗留代码可能正在使用/ usr / lib。其他发行版可以提供多架构支持,在同一台机器上安装32位和64位库,然后相应地放在/ usr / lib和/ usr / lib64中。这方面的一个例子是Arch Linux,如here所述。
有些python库无论如何都是平台独立的(.py代码),因此为这两种架构创建单个软件包以最大限度地减少维护工作是有意义的。然后,这个包将自己安装在lib和lib64中,或者正如你已经指出的那样,安装在一个与lib和lib64符号链接的单个目录中。
答案 1 :(得分:3)
64位版本的库?
您运行的是哪个版本的Python?如果您运行的是32位版本,那么您可能不需要这些文件。