Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/__core.init.php on line 814

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/sessions/_sessions.init.php on line 268

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 135

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 139

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 147

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 154

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 201

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 207

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 235

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 250

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 261

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_main.inc.php on line 273

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/files/model/_file.funcs.php on line 583

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_connect_db.inc.php on line 29

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/_param.funcs.php on line 1739

Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/__core.init.php:814) in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/sessions/model/_session.class.php on line 222

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_item.funcs.php on line 114

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/model/dataobjects/_dataobject.class.php on line 417

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/model/dataobjects/_dataobject.class.php on line 433

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/model/dataobjects/_dataobject.class.php on line 442

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_blog_main.inc.php on line 507

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_item.class.php on line 1877

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_item.class.php on line 3546

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_itemlist.class.php on line 538

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_itemlistlight.class.php on line 118

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_itemlistlight.class.php on line 178

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/items/model/_itemlistlight.class.php on line 833

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/generic/model/_genericelement.class.php on line 109

Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/__core.init.php:814) in /home/mhd-01/www.kojia.net/htdocs/uranio/inc/_core/_template.funcs.php on line 59

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 344
Compilare ed installare PyQt4 su Snow Leopard

Compilare ed installare PyQt4 su Snow Leopard

Come tutti voi sapete, sono un amante di Python e Qt4. Apprezzo anche abbastanza PyQt4, anche se non mi piace il modo in cui Phil Thompson ne gestisce lo sviluppo: non sopporto il fatto che, pur con ottime motivazioni, venga modificata la API (per esempio del famigerato QVariant) in una minor release e via dicendo.

Inoltre, con l'aggiornamento a Snow Leopard, è sorta tutta un'altra serie di problemi di compatibilità tra Qt, PyQt e il sistema. Ma dato che PyQt è uno degli strumenti che più di tutti utilizzo nel mio lavoro, mi sono trovato nell'esigenza di far funzionare il tutto nel modo migliore possibile.

Ecco quindi una breve guida sull'installazione di Qt4 e PyQt4 su Snow Leopard.

Follow up:

  • Installazione dei tool di sviluppo messi a disposizione da Apple
    Nella mia procedura di installazione, sip e PyQt4 devono essere compilati ed installati a mano. Sono quindi necessari tutti i tool di sviluppo messi a disposizione da Apple. Fortunatamente la procedura di installazione di tali tool è estremamente semplice: basta scaricare da qua XCode, installarlo, e insieme a lui verranno installati tutti gli strumenti necessari.

  • Download, installazione e configurazione di Qt4
    Affinché tutto funzioni correttamente è necessario installare la versione a 64bit di Qt4.6 (basata su cocoa). Nonostante la versione a 32bit (basata su carbon) funzioni anche su Snow Leopard, questa richiede che anche PyQt4 e sip vengano compilati a 32bit, senza considerare che andrà lanciato persino l'interprete python a 32bit. La versione di Qt4 (open source) a 64bit può essere presa da qua. Installarla è semplice: basta seguire la procedura guidata dell'installer e tutto filerà liscio (si spera).

  • Download, compilazione e installazione di sip
    Scaricare l'ultima versione di sip da questa pagina (volendo potete utilizzare anche gli snapshot presenti in fondo alla pagina, nel caso vogliate utilizzare una versione di PyQt4 bleeding edge). Una volta scaricato l'archivio, decomprimerlo e, da dentro la directory così creata, digitare:

    python configure.py
    make
    sudo make install
    
    

    Digitate la password ed avrete sip correttamente installato sul sistema.

  • Scaricare, compilare ed installare PyQt4
    Scaricare l'ultima versione di PyQt4 da questa pagina (volendo potete utilizzare anche gli snapshot presenti in fondo alla pagina, nel caso vogliate utilizzare una versione di PyQt4 bleeding edge, senza considerare che l'ultimo snapshot presenta anche i binding per il nuovo Qt Animation Framework). Una volta scaricato l'archivio, decomprimerlo e, entrando nella directory così creata, digitare:

    python configure.py
    make
    sudo make install
    
    

    Digitate la password ed avrete PyQt4 correttamente installato sul sistema.

  • Testare l'effettivo funzionamento di PyQt4
    Se PyQt4 è correttamente installato dovreste essere capaci di importarlo dall'interprete. Un veloce (ma non esauriente) test potrebbe essere digitare, da terminale:

    python -c 'import PyQt4'
    
    

    Nel caso l'installazione sia andata a buon fine il comando dovrebbe non far altro che tornare immediatamente alla shell. In caso di errore probabilmente l'installazione non è andata a buon fine. In questo caso vi auguro buona fortuna e tanta pazienza!


Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/skins/_item_feedback.inc.php on line 156

Trackback address for this post

Trackback URL (right click and copy shortcut/link location)

No feedback yet


Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/skins/_item_comment_form.inc.php on line 71

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.kojia.net/htdocs/uranio/skins/_item_comment_form.inc.php on line 115

Comments are not allowed from anonymous visitors.