Python 2

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Python 2

Messaggio da gian_d »

Come da programma, il 1 gennaio 2020 è arrivato e con esso è cessato il supporto a python 2. Avendo reinstallato il sistema, sto ricompilando tutti i pacchetti da slackbuild e per i pacchetti python compaiono ora avvisi di questo genere:

Codice: Seleziona tutto

You are running Setuptools on Python 2, which is no longer supported and
>>> SETUPTOOLS WILL STOP WORKING <<<
in a subsequent release. Please ensure you are installing
Setuptools using pip 9.x or later or pin to `setuptools<45` in your environment.
If you have done those things and are still encountering this message, please comment in
https://github.com/pypa/setuptools/issues/1458
about the steps that led to this unsupported combination.
Fin qui poco male, già dalle precedenti compilazioni avevo aggiunto in tutti gli slackbuild il supporto a Python 3, se non c'era già, per tutti i pacchetti che hanno il supporto a Python 3.8. A questo punto però mi chiedo se abbia ancora senso compilare i bindings anche per Python 2, perché già dalla prime compilazioni pip segnala dipendenze non risolte per pacchetti compilati per Python 2.

La mia domanda è: cosa implica se rimuovo dagli slackbuild righe tipo python2 setup.py o python2 configure.py? Peraltro nella current /usr/bin/python punta ancora a /usr/bin/python2, lasciando come predefinito Python 2.7.
La compilazione con python 2, a questo punto avrebbe senso solo per pacchetti obsoleti che non supportano Python 3.x, ma forse mi sfugge qualcosa.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Python 2

Messaggio da ponce »

non c'e' un discorso che vale in generale, alcuni pacchetti supportano ancora solo python2 e senza di questo non funzionano: un esempio per tutti e' calibre.
personalmente, per ora, quello che ancora funziona con python2 lo lascio andare: al momento che non andranno piu' o il pacchetto in questione o alcune delle sue dipendenze mi porro' il problema e magari chiedero' supporto agli sviluppatori del programma (che sicuramente conoscono python molto meglio di me, visto che non ne ho mai scritto una riga :) ).
se vuoi fare in modo che i warning non rompano piu' le scatole (in certi casi bloccano lo SlackBuild) puoi esportare questa variabile d'ambiente

Codice: Seleziona tutto

export PYTHONWARNINGS=ignore:::pkg_resources.py2_warn
(l'ho letto nel bug aperto su github che e' linkato nel messaggio d'errore)

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Python 2

Messaggio da gian_d »

In sostanza, la linea di indirizzo potrebbe essere quella di compilare i pacchetti, laddove è possibile, solo per Python 3, con l'eccezione di quei pacchetti che supportano entrambe le versioni ma sono dipendenze necessarie anche per pacchetti che supportano solo Python 2.

D'altra parte per ora si tratta solo di avvertimenti perciò come giustamente dici nulla vieta di lasciare le cose come stanno. Comunque i warning non mi danno fastidio, più che altro il fastidio è che ogni volta devo controllare se nell'ambiente python sono risolte tutte le dipendenze. Mi capita spesso di lanciare comandi o semplici script in python per fare delle verifiche, il fastidio è di doverlo fare in entrambe le versioni di Python.

Rispondi