gpt4 book ai didi

python:在 easy_install 期间会发生什么?

转载 作者:太空狗 更新时间:2023-10-30 03:06:54 24 4
gpt4 key购买 nike

我对 egg 文件和使用 easy_install 安装它们有点困惑,希望你能帮助我。 (我阅读了人们对 pip 的推荐,但我想在继续之前了解这一点)。

如果我简单地从一个拇指驱动器复制例如 django_guardian-1.0.2-py2.6.egg 并放置在例如 ~/bar/ which PYTHONPATH指的是,尝试通过 import guardian 导入内容会产生 importError。即使我复制了 easy_install.pth

也会出现此错误
import sys; sys.__plen = len(sys.path)
./django_guardian-1.0.2-py2.6.egg
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys
'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)

现在,使用easy_install django-guardian,当然没有这个问题了。

我导航到 egg 文件被 easy_installed 的目录,它只包含 .pth.egg 文件。我想知道 easy_install 做了哪些其他过程/条目使第一种方法无法使用....

最佳答案

easy_install 使用 .pth 文件将 .egg 文件添加到 sys.path -- 列表Python 搜索要导入的模块的位置。

.pth 文件由 site 模块处理,但仅在四个预定义目录中。这些目录是特定于平台的,并且基于 sys.prefixsys.exec_prefix 设置。在 Unix 上,最突出的通常是 /usr/lib/pythonXX/site-packages

由于您的自定义目录不是 site 处理的目录之一,您的 .pth 文件将不会被处理,Python 也不会查看 >.鸡蛋.

有关详细信息,请参阅 the site module documentation .

关于python:在 easy_install 期间会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6813331/

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