[QGIS-it-user] Migrare a python 3 per il porting dei plugin in python: da dove partire?

Salve a tutti,

visto che Qgis 3 si avvicina e se ho ben capito, con esso arriverà python 3, mi rivolgo a tutti coloro che nel tempo hanno sviluppato plugin in python e dovranno fare il porting tra la versione 2.7 e la 3.

Prima di buttarmi a capofitto quindi inizio da questa mailing list a chiedere un po’ di consigli.

  1. E’ bene iniziare fin da ora ad inserire le nuove chiamate in python 3 annidandole dentro ad un if in base alla versione python?
  2. E’ già possibile installare un Qgis con python 3 e iniziare a fare un po’ di prove?
  3. E’ bene iniziare da una macchina “pulita” per lavorare sul porting?
  4. Credete sia utile aprire una sezione, un doc condiviso o altro per darsi man forte ed aggregare soluzioni che possono essere risfruttate dagli utenti?

Altre cose non mi vengono in mente per ora.

Grazie della collaborazione

Luca

Non ne so più di tanto !
Mi pare che la build di QGIS 3.0 sarà disponibile su github nei primi
mesi dell'anno prossimo (su branch "master") e quindi si potrà
scaricare per fare testing.

Poi ho trovato questo articolo, che forse contiene qualche info che
può esserti utile:
http://www.opengis.ch/2016/05/04/qgis-qt5-and-python3-migration-current-state/

Comunque vada, il porting sulla 3.0 non sarà sicuramente una passeggiata !

Cari saluti
Nino

Il 29 ottobre 2016 17:12, Luca Mandolesi <mandoluca@gmail.com> ha scritto:

Salve a tutti,

visto che Qgis 3 si avvicina e se ho ben capito, con esso arriverà python 3,
mi rivolgo a tutti coloro che nel tempo hanno sviluppato plugin in python e
dovranno fare il porting tra la versione 2.7 e la 3.

Prima di buttarmi a capofitto quindi inizio da questa mailing list a
chiedere un po' di consigli.

E' bene iniziare fin da ora ad inserire le nuove chiamate in python 3
annidandole dentro ad un if in base alla versione python?
E' già possibile installare un Qgis con python 3 e iniziare a fare un po' di
prove?
E' bene iniziare da una macchina "pulita" per lavorare sul porting?
Credete sia utile aprire una sezione, un doc condiviso o altro per darsi man
forte ed aggregare soluzioni che possono essere risfruttate dagli utenti?

Altre cose non mi vengono in mente per ora.

Grazie della collaborazione

Luca

_______________________________________________
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-it-user

Il 30/10/2016 14:41, nino formica ha scritto:

Poi ho trovato questo articolo, che forse contiene qualche info che
può esserti utile:
http://www.opengis.ch/2016/05/04/qgis-qt5-and-python3-migration-current-state/

Comunque vada, il porting sulla 3.0 non sarà sicuramente una passeggiata !

Il 29 ottobre 2016 17:12, Luca Mandolesi <mandoluca@gmail.com> ha scritto:

Salve a tutti,

visto che Qgis 3 si avvicina e se ho ben capito, con esso arriverà python 3,
mi rivolgo a tutti coloro che nel tempo hanno sviluppato plugin in python e
dovranno fare il porting tra la versione 2.7 e la 3.

Prima di buttarmi a capofitto quindi inizio da questa mailing list a
chiedere un po' di consigli.

Grazie della collaborazione

Ciao,
grazie per sollevare la questione. Credo sia ancora molto preso: le API
non sono stabilizzate per ora, quindi se adatti il plugin ci sarà da
metterci le mani di nuovo.
Quello che è invece utile è collaborare con il gruppo di sviluppo nel
verificare e mettere a punto gli howto per rendere la cosa semplice a
tutti: ti va di dare una mano?
Non credo sarà molto difficile fare l'upgrade dei plugins; il problema
fondamentale è che sono tanti, e alcuni non sono mantenuti, quindi si
rischia di perderli. In aluni casi un po' di pulizia sarà un bene, in
altri no. Qualunque aiuto in questa direzione sarà benvenuto.
Saluti.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis

Ciao Paolo,

quello che pensavo si iniziare a fare era ciò:

  • installare python3

  • prendere la doc per passare dal 2 al 3 e iniziare a testare cosa diventa cosa e vedere se a livello di procedure cambia qualcosa: per esempio se malauguratamente qualche chiamata passa a sputare fuori tuple al posto di liste (ma spero di no), se i cicli sono cambiati nella sintassi e iniziare almeno ad annidarli nel codice.

  • mettere online cosa ho fatto. Ovviamente io scrivo in python come un bimbo di 3 anni parla italiano;

  • quando parli di gruppo, intendi che c’è una mailing list apposita oppure la mailing list di sviluppo generica?

In sostanza il dare una mano sarà relativo alle procedure che conosco, e spero/temo che essendo il pyarchinit costituito da una decina di migliaia di righe (per lo più simili per fortuna) riuscirò a vedere varie procedure.

Quale può essere un iter corretto e pulito di procedere? Metterle sul mio sito, fare un doc apposito condiviso, scrivere tutto sempre con dei riferimenti nell’oggetto specifici tipo from python 2 to 3 in modo che siano facilmente reperibili?

Grazie dei suggerimenti.

Luca

risposte

1) si... il codice inoltre puo' essre scritto per essere
retrocompatibile a python2.7 - ci sono molti siti che documentano il
processo, in generale puo' nadatrti bene questo
http://python3porting.com/.

2) si, gia' da tempo, anche se le api sono in ebollizione, sarebbe la master

3) non necessariamente, dipende molto dalla tua capacita d'ordine...
   3.1) in definitiva inizierei solo a fare il porting da 2 a 3 solo di python.
   3.2) farei un elenco delle api di qgis usate dal tuo plugin e le
monitorerei nel documento di porting:
          http://qgis.org/api/api_break.html
          per vedere cosa e se cambiano

4) non ho capito la domanda

a presto
Luigi Pirelli

**************************************************************************************************
* Boundless QGIS Support/Development: lpirelli AT boundlessgeo DOT com
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS 2nd Edition:
* https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition
**************************************************************************************************

2016-10-29 17:12 GMT+02:00 Luca Mandolesi <mandoluca@gmail.com>:

Salve a tutti,

visto che Qgis 3 si avvicina e se ho ben capito, con esso arriverà python 3,
mi rivolgo a tutti coloro che nel tempo hanno sviluppato plugin in python e
dovranno fare il porting tra la versione 2.7 e la 3.

Prima di buttarmi a capofitto quindi inizio da questa mailing list a
chiedere un po' di consigli.

E' bene iniziare fin da ora ad inserire le nuove chiamate in python 3
annidandole dentro ad un if in base alla versione python?
E' già possibile installare un Qgis con python 3 e iniziare a fare un po' di
prove?
E' bene iniziare da una macchina "pulita" per lavorare sul porting?
Credete sia utile aprire una sezione, un doc condiviso o altro per darsi man
forte ed aggregare soluzioni che possono essere risfruttate dagli utenti?

Altre cose non mi vengono in mente per ora.

Grazie della collaborazione

Luca

_______________________________________________
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-it-user

grazie Luigi,

In pratica un po’ mi consolo perchè di pyQgis ne uso praticamente zero, a parte banali carica layer e aggiorna query…

···
  1. non ho capito la domanda

Se ti riferivi a quella sulla mailing list, mi chiedevo se è stata fatta una mailing list apposita per python e la migrazione…oppure si mette tutto in lista sviluppatori.

Ciao

Luca

che io sappia c'e' solo la lista sviluppatori... ma avendo saltato
l'ultimo hackmeeting magari mi potrei pure sbagliare.
Luigi Pirelli

**************************************************************************************************
* Boundless QGIS Support/Development: lpirelli AT boundlessgeo DOT com
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS 2nd Edition:
* https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition
**************************************************************************************************

2016-10-31 9:44 GMT+01:00 Luca Mandolesi <mandoluca@gmail.com>:

grazie Luigi,

In pratica un po' mi consolo perchè di pyQgis ne uso praticamente zero, a
parte banali carica layer e aggiorna query...

4) non ho capito la domanda

Se ti riferivi a quella sulla mailing list, mi chiedevo se è stata fatta una
mailing list apposita per python e la migrazione...oppure si mette tutto in
lista sviluppatori.

Ciao
Luca

un caso pratico descritto qui:
https://github.com/gc-i/wntOS/wiki/QGIS3Port
Luigi Pirelli

**************************************************************************************************
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS 2nd Edition:
* https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition
* Hire me: http://goo.gl/BYRQKg
**************************************************************************************************

2016-10-31 10:38 GMT+01:00 Luigi Pirelli <luipir@gmail.com>:

che io sappia c'e' solo la lista sviluppatori... ma avendo saltato
l'ultimo hackmeeting magari mi potrei pure sbagliare.
Luigi Pirelli

**************************************************************************************************
* Boundless QGIS Support/Development: lpirelli AT boundlessgeo DOT com
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS 2nd Edition:
* https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition
**************************************************************************************************

2016-10-31 9:44 GMT+01:00 Luca Mandolesi <mandoluca@gmail.com>:

grazie Luigi,

In pratica un po' mi consolo perchè di pyQgis ne uso praticamente zero, a
parte banali carica layer e aggiorna query...

4) non ho capito la domanda

Se ti riferivi a quella sulla mailing list, mi chiedevo se è stata fatta una
mailing list apposita per python e la migrazione...oppure si mette tutto in
lista sviluppatori.

Ciao
Luca

Grazie Luigi.

Per ora stiamo studiando la situazione. Ma la combo Qgis3+Python3 è veramente deleterea. Ha riportato l’orologio indietro di 10 anni. Eliminare la portabilità è stata una scelta veramente criminale. Io ho 10 anni di lavoro da mandare nel bidone e, stiamo cercando le risorse per sopravvivere, altrimenti addio Qgis. Speriamo in un Salvatore!

Ciao e grazie

Luca

Il 08/02/2018 16:10, Luca Mandolesi ha scritto:

Grazie Luigi.
Per ora stiamo studiando la situazione. Ma la combo Qgis3+Python3 è
veramente deleterea. Ha riportato l'orologio indietro di 10 anni.
Eliminare la portabilità è stata una scelta veramente criminale. Io ho
10 anni di lavoro da mandare nel bidone e, stiamo cercando le risorse
per sopravvivere, altrimenti addio Qgis. Speriamo in un Salvatore!

suvvia, non siamo drammatici.
elabora bene il problema, sottoponilo a qgis-dev, vedrai che una
soluzione elegante c'è.
saluti.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis