gpt4 book ai didi

python - ubuntu9.10 : how to use python's lib-dynload and site-packages directories?

转载 作者:行者123 更新时间:2023-11-28 17:54:58 25 4
gpt4 key购买 nike

在ubuntu 9.10中,usr/lib/下有目录python2.4、python2.5、python2.6和python3.0

只有 python 2.6 可以正常工作。
python2.4只有一个lib-dynload目录,
python2.5只有lib-dynload和site-packages,
python3.0只有一个dist-packages目录。

现在我想知道这背后的想法是什么?因为当我用 ./configure 安装 python2.5 时,make,make install |替代安装这会进入 usr/local/lib 而不是 usr/lib/那么为什么要在 ubuntu 中添加这些目录,我应该如何安装 python 才能使用它们?

最佳答案

j3ll3,在 Ubuntu(或任何基于 DPKG 的 Linux 操作系统)中,您可以通过键入“What package provides XYZ”来询问问题

dpkg -S /path/to/XYZ

因此,例如,在 Ubuntu 9.10 中,

dpkg -S /usr/lib/python2.5/lib-dynload/gdbm.so

返回

python-gdbm: /usr/lib/python2.5/lib-dynload/gdbm.so

您可以通过键入找到有关 python-gdbm 包的更多信息

apt-cache show python-gdbm

其中表示 python-gdbm 提供“对 Python 的 GNU dbm 数据库支持”。也许更有趣的是,如果你输入

dpkg --listfiles python-gdbm

您会看到 python-gdbm 安装的所有文件的列表:

...
/usr/lib/python2.4
/usr/lib/python2.4/lib-dynload
/usr/lib/python2.4/lib-dynload/gdbm.so
/usr/lib/python2.5
/usr/lib/python2.5/lib-dynload
/usr/lib/python2.5/lib-dynload/gdbm.so
/usr/lib/python2.6
/usr/lib/python2.6/lib-dynload
/usr/lib/python2.6/lib-dynload/gdbm.so
...

所以看起来这个单个包安装了 3 个 .so 库,一个用于每个版本的 python。

Python2.6是Ubuntu 9.10默认的python版本,但是也可以安装python2.4、2.5 和/或 3.0。除非你这样做,否则只会使用/usr/lib/python2.6/lib-dynload/gdbm.so,其他的只是在浪费空间。

由于 python2.4、2.5、3.0 中不需要的文件不是很大,包维护者可能觉得发布一个包比每个版本的 python 一个更容易。

但是,除非您知道如何修复 future 的 apt-get 错误,否则我建议您不要手动删除任何由 Ubuntu 中的软件包安装的文件。

关于python - ubuntu9.10 : how to use python's lib-dynload and site-packages directories?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1733364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com