borzole Napisano Wrzesień 29, 2010 Zgłoszenie Share Napisano Wrzesień 29, 2010 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 More sharing options...
Rekomendowane odpowiedzi
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ę