Skocz do zawartości

Wyszukiwanie Modułów Pythona


borzole

Rekomendowane odpowiedzi

Witam,

przy okazji jednego tematu powrócił do mnie problem wyszukiwania brakujących modułów pythona. Czy istnieje jakaś magiczna komenda, która pozwala znaleźć moduł w repo? Poszukałem trochę informacji i wygląda na to, że bez wsparcia ze strony repozytorium nie jest to trywialne.

 

* importowany moduł foo można z grubsza poszukać przez

yum provides */foo.py */foo/__init__.py

jednak to czasami zwraca ogromne ilości wyników i poszukiwania nie obejmują modułów skompilowanych

 

* problem ścieżki

moduły nie siedzą w 1-2 folderach,

python -c 'import sys ; print sys.path'

i to wcale nie jest stała lista, ale rozszerzana przez pliki *.pth (docs.python.org/library/site.html#module-site)

 

* ręce opadają

jedyne co mi się udało z tego wyskrobać to empiryczna lista prawdopodobnych lokalizacji

 

module.sh

#!/bin/bash

# wyszukuje paczki dostarczające moduły pythona

exec 2> >( grep --color=always \. ) # trik koloruje błędy na czerwono

list(){
for p in $@ ; do
	echo /usr/lib{,64}/python{2.6,3.1}/{,plat-linux2/,lib-tk/,lib-old/,lib-dynload/,site-packages/{,PIL/,gst-0.10/,gtk-2.0/,wx-2.8-gtk2-unicode/}}${p}{.py,/__init__.py}
done
}

yum provides $(list $@)

 

przykładowo, aby poszukać kilku modułów wpisujemy

 ~]$ module.sh snack Image

 

* poszukuję lepszego (pełnego) rozwiązania

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...