<div class="gmail_quote">Il giorno 15 novembre 2010 20:13, Manlio Perillo <span dir="ltr">&lt;<a href="mailto:manlio.perillo@gmail.com">manlio.perillo@gmail.com</a>&gt;</span> ha scritto:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Se embeddi l&#39;interprete, ti basta settare il flag Py_NoSiteFlag.<br></blockquote><div>Ah, beh tanto meglio :)<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Scusa, ma nel tuo caso chiami l&#39;interprete dalla riga di comando, o è<br>
incluso nella tua applicazione?<br></blockquote><div>Nel progetto di cui alla discussione precedente includo l&#39;interprete nel programma C, però visto che tale thread è stato cosi ricco di spunti ho pensato di provare a vedermi un po&#39; il meccanismo di import di CPython. <br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Peccato che questa funzione non sia personalizzabile.<br>
<br></blockquote><div>Io l&#39;ho modificata per caricare, assieme a zipimport, anche il modulo signedimporter (quello tuo da paste, anche se incompleto mi serviva per test.<br>Per maggiore sicurezza, però, anzichè usare il comportamento standard di python con zipimport,(ovvero, che se non riesce a caricare il modulo o ad ottenere un riferimento alla funzione/classe che gestisce l&#39;import scrive sullo stderr solo in caso di PYTHONVERBOSE) ho preferito far stampare l&#39;errore ed interrompere l&#39;esecuzione dell&#39;interprete (scelta non necessariamente definitiva).<br>
<br>Ho notato comunque che zipimport viene registrato non in sys.meta_path ma in sys.path_hooks.<br>Stando alla PEP302 mi pare di aver capito che la differenza è che sys.meta_path viene controllato *prima* della creazione di sys.path.<br>
E poi in meta_path si parla di importer mentre in path_hooks di oggetto callable. :S<br><br>Per ora funziona tutto, cioè non ci sono errori a runtime anche se giustamente, il modulo signedimporter non fà nulla e poi dovrò aggiungere un controllo integrato per la validità dello stesso .py (magari poi lo rifarò in C se conviene).<br>
<br>Unico problema trovato in fase di compilazione del sorgente è che il modulo hashlib crea un errore cercando di importare _md5, anche se, onestamente, non capisco perchè in fase di compilazione tenti di eseguire il modulo signedimporter (che importa hashlib).<br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><br>
Ti consiglio anche di chiedere sul newsgroup inglese.<br>
 <br></blockquote><div><br>Uhm, gli darò un&#39;occhiata. Sicuro che non mi mangiano se parlo di modificare la base di python? =E<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<br>
Ciao  Manlio<br></blockquote><div><br>Ciao ciao! </div></div><br>