[Python] Strano problema con pkgutil.walk_packages

Riccardo Vianello riccardo.vianello a gmail.com
Gio 1 Maggio 2014 13:02:13 CEST


Ciao Germano

2014-05-01 12:19 GMT+02:00 Germano Carella <germano.carella a gmail.com>:

> Dunque, ho trovato una funzione che mi restituisce un oggetto contenente
> la lista di tutti i pacchetti presenti nel sistema.
>
> La funzione è walk_packages e si trova nel modulo pkgutil.
>
> Ok, eseguo la funzione e costruisco l’oggetto, che è un generator.
>
> Per avere la lista di tutti i pacchetti devo eseguire una for su tutti gli
> elementi dell’oggetto.
>
> Ebbene, la for si esegue, la lista viene costruita, ma a un certo punto mi
> stampa una serie di errori.
>
> Li riporto tutti qui sotto, sperando che qualcuno mi possa suggerire
> qualcosa…
>
> A mio modesto parere, è come se walk_packages eseguisse tutti i moduli del
> mondo…
>

la documentazione di pkgutil.walk_packages precisa "Note that this function
must import all packages (not all modules!) on the given path [...]" e
dall'output che riportavi sembra che l'import di ldtp comporti l'esecuzione
di una porzione di codice che in questo contesto produce un errore.

sempre stando alla documentazione, sembra che dovresti poter passare alla
walk_packages una funzione tramite il parametro opzionale 'onerror' in modo
da stabilire come gestire le eccezioni (altrimenti il comportamento di
walk_packages e` limitato ad ignorare ImportError). onerror dovrebbe essere
una funzione che prende come argomento il nome del package responsabile
dell'errore.

ciao,
riccardo
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140501/7e36acd5/attachment.html>


Maggiori informazioni sulla lista Python