簡體   English   中英

python:easy_install期間會發生什么?

[英]python: what happens during easy_install?

我對egg文件有點困惑,並使用easy_install安裝它們,希望你能幫助我。 (我讀到人們對pip的推薦,但我想在繼續之前理解這一點)。

如果我簡單地復制e,g django_guardian-1.0.2-py2.6.egg ,例如,一個django_guardian-1.0.2-py2.6.egg並放置在例如~/bar/ 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不會查看.egg

有關更多信息,請參閱site模塊文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM