Come accedere alle future versioni di Python come la 3.12 prima che esse siano disponibili per tutti.
How to access future versions of Python such as 3.12 before they are available to everyone.
Provalo e mettilo alla prova

Le nuove versioni di Python portano sempre trucchi significativamente migliorati nel gioco. Prendiamo come esempio la versione 3.11 – quella ha promesso fino al 60% di aumento delle prestazioni e lo ha consegnato lo scorso ottobre.
Oltre alla promessa di nuove funzionalità, testare le versioni non rilasciate di Python aiuta gli sviluppatori a trovare bug più velocemente e permette ad altri di partecipare al processo di sviluppo. C’è anche una reale possibilità di ottenere un vantaggio competitivo sfruttando le nuove funzionalità prima delle masse.
Anche se questi non sembrano motivi abbastanza convincenti, vantarsi sui social media di aver controllato una nuova versione di Python prima della folla è sempre figo.
Quindi, cominciamo.
- Sono ancora necessari i Data Scientist nell’era dell’AI generativa?
- Per imparare davvero un nuovo argomento, prenditi il tuo tempo.
- Utilizzo di Plotly 3D Surface Plots per visualizzare le superfici geologiche.
Passaggio 0: Installare Docker
Il motivo per cui non tutti possono accedere alle nuove versioni di Python è perché sono ben nascoste. Non hanno link di download su Python.org. Invece, sono ospitati sulla pagina ufficiale dell’immagine Docker di Python:

Come puoi vedere, l’immagine ha oltre 1 miliardo di download. Se scorri un po’ verso il basso, vedrai diverse varianti dell’immagine Python:

Vogliamo installare la versione non rilasciata di Python 3.12 ma ci sono dozzine di varianti. Quale scegliere?
Prima di rispondere, assicurati di avere Docker Desktop installato e di poter eseguire con successo docker --version
sulla tua CLI.
Il motivo per cui stiamo usando immagini e container Docker è che sono sicuri e isolati. Python 3.12 non causerà problemi al tuo ambiente se è all’interno di un contenitore. Più di ogni altra cosa, non abbiamo altra scelta che i contenitori 🙂
Non devi sapere nulla su Docker per questo tutorial.
Passaggio 1: Scegliere un’immagine
Quindi, cosa significano tutte quelle parole – alpine
, rc
, bookworm
, slim
, e bullseye
nei nomi dei tag dell’immagine Python? Questi termini vengono utilizzati per informarci sul sistema operativo di base utilizzato in ciascuna immagine. Ecco le loro definizioni:
alpine
: le immagini con tagalpine
utilizzano la distribuzione Alpine Linux nota per la sua piccola dimensione e il suo design orientato alla sicurezza.bookworm
: Bookworm è un nome in codice per Debian OS 12, una distribuzione popolare nota per la sua stabilità e la sua ampia adattabilità del software.bullseye
(nome figo): Bullseye è un altro nome in codice per Debian (versione 11).slim
: una variante di immagini che sono costruite con un focus su una dimensione più piccola. Queste immagini sono ridotte a includere solo i componenti essenziali e le dipendenze necessari per eseguire le applicazioni Python, rendendole più leggere ed efficienti.0bn
: i tag con0b
rappresentano le versioni beta. Ad esempio, le immagini0b2
sono le versioni beta di Python 3.12 Beta 2. La versione beta finale (0b4
) per Python 3.12 sarà a luglio 2023.rc
: le immagini con questo tag sono release candidate. Le RC sono considerate potenzialmente stabili e pronte per il rilascio, in attesa di ulteriori test e feedback.
E sceglieremo una di queste release candidate, in particolare 3.12-rc-bookworm
. Debian 12 è la scelta.
Controlla qui il calendario delle release di Python 3.12.
Passaggio 2: Scaricare l’immagine
Prima di tutto, assicurati che Docker Desktop sia in esecuzione avviando l’applicazione e controllando lo stato:

Quindi, su qualsiasi terminale, esegui il comando sottostante e attendi:
$ docker pull python:3.12-rc-bookworm
Il comando scaricherà l’immagine ufficiale da Docker Hub.
Intanto: un’immagine Docker è un pacchetto leggero, autonomo ed eseguibile che include tutto il necessario per eseguire un software, inclusi il codice, l’ambiente di esecuzione, gli strumenti di sistema, le librerie e le configurazioni.
Un contenitore Docker, d’altra parte, è un’istanza in esecuzione di un’immagine Docker. Creeremo un tale contenitore una volta completato il download.
Docker per i moderni scienziati dei dati: 6 concetti che non puoi ignorare nel 2023
Modifica la descrizione
towardsdatascience.com
Passaggio 3: Avvio di un contenitore
Rullo di tamburi, per favore! Stiamo per mettere le nostre mani sulla nuova versione di Python 3.12 per la prima volta. Il comando per farlo è… (silenzi drammatici dalla tua parte):
$ docker run -it python:3.12-rc-bookwormPython 3.12.0b2 (main, Jun 14 2023, 17:45:20) [GCC 12.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>
Ecco fatto gente gentile. Il comando ha lanciato un contenitore dall’immagine 3.12-rc-bookworm e con l’aggiunta del tag -it
ha avviato l’interprete Python. Ora, puoi fare tutto ciò che faresti all’interno di una shell interattiva.
Per alcune idee, controlla l’articolo “Novità di Python 3.12” della documentazione ufficiale. Proverei prima di tutto quei messaggi di errore migliorati.
Per uscire dalla shell e dal contenitore, esegui il comando
exit()
.
Passaggio 4: Collegamento di VSCode al contenitore
Non pensavi che saremmo arrivati fin qui per eseguire un mucchio di espressioni nella stupida shell, vero?
Oh no. Stiamo per collegare il contenitore con Python 3.12 a VSCode e scrivere alcuni script per testare la nuova versione per davvero.
Quindi, in qualsiasi directory del tuo computer, apri VSCode (spero che tu lo abbia configurato per Python e la scienza dei dati).
$ cd some_dir$ code . # Lancia VSCode
Quindi, installa l’estensione Remote Development:

Ricarica VSCode. Quindi, passa a Docker Desktop e clicca sul menu Contenitori:

Vedrai un elenco di contenitori in esecuzione. La mia versione di Python 3.12 si chiama adoring_dirac
. In questo momento, non è in esecuzione perché ho terminato la shell di Python nella mia CLI. Per avviarlo, premo il pulsante di riproduzione che avvia il contenitore.
Ora, torna su VSCode e apri la palette dei comandi (Ctrl + Shift + P) e cerca “Collega ai contenitori in esecuzione”. Qui c’è un GIF utile:
Appena si fa clic su un’istanza di container in esecuzione con Python 3.12 come immagine di base, verrà visualizzata una nuova finestra di VSCode direttamente collegata al container.
Ricorda, questo container è isolato dal tuo sistema operativo, quindi tutti i file che crei o modifichi o tutte le sessioni di terminale che avvii saranno isolate e non saranno visibili.
Quindi, questo è il tuo via libera per provare qualsiasi cosa all’interno del container per testare Python 3.12. Oltre alla creazione di script,
puoi anche installare altri software come Conda, Git, DVC e praticamente trattare il container come se avessi un nuovo e vuoto computer con solo Python 3.12 installato.
Conclusione
Puoi anche applicare l’approccio descritto per installare future versioni di Python su altri strumenti o librerie. Ad esempio, i framework popolari come TensorFlow o PyTorch hanno le loro immagini Docker ufficiali disponibili su Docker Hub.
Utilizzando queste immagini ufficiali, puoi configurare facilmente i framework con il supporto GPU, eliminando eventuali complessità o sfide. I container Docker sono pre-configurati, garantendo un’esperienza di installazione priva di problemi.
Grazie per aver letto!
Ti è piaciuto questo articolo e, ammettiamolo, il suo stile di scrittura bizzarro? Immagina di avere accesso a decine di altri articoli simili, tutti scritti da un autore brillante, affascinante e spiritoso (cioè io, per inciso :).
Per soli 4,99 $ di abbonamento, avrai accesso non solo alle mie storie, ma anche a un tesoro di conoscenze provenienti dalle menti migliori e più brillanti di Nisoo. E se utilizzi il mio link di riferimento, guadagnerai la mia supernova di gratitudine e un alto cinque virtuale per supportare il mio lavoro.
Unisciti a Nisoo con il mio link di riferimento – Bex T.
Come membro di Nisoo, una parte della tua quota di iscrizione va ai writer che leggi e hai accesso completo ad ogni storia…
ibexorigin.medium.com