编程语言
首页 > 编程语言> > python:easy_install期间会发生什么?

python:easy_install期间会发生什么?

作者:互联网

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

如果我只是简单地复制e,g django_guardian-1.0.2-py2.6.egg,例如,一个拇指驱动器并放置在例如PYTHONPATH指向的〜/ bar /中,尝试通过导入监护人导入内容会产生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文件由站点模块处理,但仅在四个预定义目录中处理.这些目录是特定于平台的,并且基于sys.prefix和sys.exec_prefix设置.在Unix上,最突出的通常是/usr/lib / pythonXX / site-packages.

由于您的自定义目录不是站点处理的目录之一,因此不会处理.pth文件,并且Python不会查看.egg.

有关更多信息,请参阅the site module documentation.

标签:python,easy-install
来源: https://codeday.me/bug/20190626/1294991.html