Пример PEP 302: новые импортные хуки - PullRequest
12 голосов
/ 07 июня 2009

Где я могу найти пример реализации "новых импортных хуков", описанных в PEP 302 ?

Я хотел бы реализовать пользовательский искатель и загрузчик наиболее совместимым способом. Другими словами, реализация должна работать в Python 2.x и 3.x.

1 Ответ

3 голосов
/ 07 июня 2009

Вы можете найти тысячи примеров с открытым исходным кодом, например, с поиском по коду Google , вот оно:

http://www.google.com/codesearch?hl=en&lr=&q="imp.find_module"+"imp.load_module"&sbtn=Search

Редактировать: как выяснил спрашивающий, он ищет пример реализации, а не использования, лучше URL для поиска:

http://www.google.com/codesearch?hl=en&sa=N&q="path_hooks"++lang:python&ct=rr&cs_r=lang:python

Один читаемый пример (хотя НЕ подходит для производственного использования, как указывает обсуждение reddit !): urlimport .

Что касается поддержки Python 2 и Python 3 одновременно, это звучит амбициозно - я не знаю ни одного существующего хука импорта, который претендует на это. На вашем месте я бы начал предлагать полную поддержку Python 2.6, затем, когда он заработает (и у него будет хороший набор тестов, и он не сможет заглянуть с переключателем -3), я бы 2to3 исходники посмотрите, не сломалось ли что-нибудь (если так, выясните почему, исправьте исходники версии 2.6, итерируйте).

...