<div dir="ltr">Ciao Salvatore,<div>ho fatto la prova nel modo corretto che mi hai segnalato e funziona.</div><div><br></div><div>Unico problema: chiamando un modulo da path di C:\Python27\Lib\site-packages che a sua volta sfrutta un modulo che Qgis ha di default dentro al suo site-packages viene sollevato un errore per problemi di versione. Quindi c'è sempre da stare attenti a mischiare i path.</div>
<div><br></div><div>Domandona:</div><div>quando abilito il mio plugin pyarchinit, questo avrebbe bisogno di settare la famosa variabile Globale con un bel Accoda per pescare i .exe del programma GRaphviz. Sai per caso se c'è in pyqgis la classe relativa per poter manipolare da plugin quella path, senza chiedere all'utente che lo faccia dalle impostazioni di QGis. Vorrei prevedere nel pannello di configurazione del mio plugin anche una variabile in cui settare manualmente il path a Graphviz nel caso vi fosse installata una versione difforme da quella consigliata nella nostra documentazione.</div>
<div><br></div><div>Ciao e grazie</div><div>Luca</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/28 Salvatore Larosa <span dir="ltr"><<a href="mailto:lrssvtml@gmail.com" target="_blank">lrssvtml@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Il 28/ott/2013 17:14 "Luca Mandolesi" <<a href="mailto:mandoluca@gmail.com" target="_blank">mandoluca@gmail.com</a>> ha scritto:</p>
<div class="im"><br>
><br>
><br>
><br>
><br>
>> Dalla console puoi richiamare i packages presenti nel PYTHONPATH, la variabile che imposti tu credo sia qualcosa di personalizzato,<br>
>> perciò non saprei se va a finire all'interno del path del pitone. Se è necessario creare quella variabile credo dovresti richiamarla direttamente dal tuo plugin.<br>
>> Potresti anche provare ad aggiungere il percorso direttamente dalla console python (con le stesse righe di codice della macro).<br>
><br>
><br>
> Il mio PYTHONPATH punta solo su C:\OSGeo4W\apps\qgis\python\ mentre ignora C:\Python27. Appena però punto a quello arriva il modulo SIP che fa danni.<br>
>  <br>
>><br>
>> Ho provato anche il metodo macro, ma quando riapro il progetto il pezzettino di codice per aggiungere il path a sys.path è sparito, non è stato salvato e anche la flag delle macro non è attiva.<br>
>><br>
>><br>
>> Le macro vengono salvate nel file XML di progetto (.qgs), così è necessario salvare e riaprire lo stesso progetto.<br>
>> L'ho appena testato è funziona in entrambe le versioni, 2.0 e master.<br>
><br>
><br>
> Fatto un reinstall..effettivamente ora funziona prima invece riaprendo il medesimo progetto la modifica spariva...mah... Una domanda:<br>
> devo semplicemente aggiugere le righe<br>
> import sys<br>
> sys.path.append('miopath')<br>
>  <br>
> oppure le macro esigono sempre una def?<br>
><br>
> def mytest():<br>
>     import sys<br>
>     sys.path.append('miopath')<br>
>  <br>
></div><p></p>
<p dir="ltr">La macro crea un modulo python che sarà caricato nel tuo progetto con il quale puoi eseguire specifiche funzioni solo per gli eventi openProject, saveProject e closeProject. Quindi quelle funzioni devono rimanere, in sostanza devi solo sostituire 'pass' con qualche linea di codice. Nel tuo caso devi solamente modificare la funzione openProject:</p>


<p dir="ltr">def openProject():<br>
    import sys<br>
    sys.path.append('tuopath')</p>
<p dir="ltr">Per le funzioni saveProject e closeProject lascia le stringhe di default.</p>
<p dir="ltr">Ciao,<br>
-SL</p><div class="HOEnZb"><div class="h5">
<p dir="ltr">>>> Ho ricreato anche l'errore e questo è il messaggio in finestra:<br>
>>><br>
>>> Impossibile caricare PyQGIS.<br>
>>> Il supporto Python verrà disabilitato.<br>
>>><br>
>>><br>
>>> Traceback (most recent call last):<br>
>>>   File "", line 1, in <br>
>>> RuntimeError: the sip module implements API v8.0 but the qgis.core module requires API v8.1<br>
>>><br>
>>><br>
>>> Questo avviene perchè in site-packages di C:\\python27 ho un modulo sip installato tempo fa per lavorare con le QT fuori da Qgis è chiaramente non compatibile.<br>
>>><br>
>>><br>
>>> Ergo ne dedurrei che c'è in primis un problema di salvataggio dei settaggi Macro a livello di progetto e poi che sarebbe bello che, in caso di settaggi alle variabili di ambiente che impediscono a QGis di funzionare, il sistema flaggasse su false la customEnvVarsUse in modo da permettere all'utente di rimediare agli errori, anche se non so se tale cosa può essere fatta da QGis all'avvio.<br>


>><br>
>> mmm...., non capisco perchè quell'errore, prima di aprire eventualmente un bug, fai una prova con la macro e vedi se ottieni lo stesso identico errore.<br>
>><br>
>> Saluti,<br>
>> -SL<br>
><br>
><br>
> Ok, proverò. Intanto grazie mille.<br>
> Luca <br>
>    </p>
</div></div></blockquote></div><br></div>