Impostazione di ambienti Python in sistemi Linux e Unix

Breve : questa guida mostra come configurare l'ambiente Python su Linux e altri sistemi simili a Unix.

Se hai mai provato a configurare un ambiente di sviluppo Python in Windows, sai quanto può essere difficile. Recentemente, Python ha rilasciato una nuova versione dei loro programmi di installazione che hanno reso questo processo quasi indolore, ma ciò non significa che si possa ottenere il miglior ambiente di sviluppo, quindi, nello spirito di un recente post su It's Foss sull'impostazione un ambiente C ++, ecco come fare lo stesso per Python.

Ottime notizie, Python è già lì

Come utente * nix (perché questo vale anche per OsX) hai già una versione di Python installata sul tuo sistema. In effetti, è probabilmente una grande parte del funzionamento del programma di installazione dei pacchetti. Il vero problema è scoprire quale versione di Python hai installato di default e quale versione di Python hai intenzione di programmare con. Quindi apri un terminale e controlla quello che hai:

python --version

restituirà entrambi:

Python3.xx

o

Python 2.xx

a seconda di ciò che ritorni, ti suggerirei di provare anche l'altra versione, aggiungendo quel numero al comando python. Nel mio caso, l'installazione predefinita di Python è 2, quindi scrivo:

python3 --version

e recuperare la risposta Python 3.xx appropriata.

Questo sarà importante perché determinerà come eseguiremo il nostro codice Python da qualsiasi interprete che utilizzeremo. C'è un articolo completamente diverso da scrivere sulla modifica della tua installazione Python predefinita, quindi ho intenzione di evitare quella discussione qui. Ricorda solo quale è la tua macchina predefinita e quale vuoi mirare.

Se ti manca uno o l'altro, o se trovi che stai utilizzando una versione precedente, installa solo la più recente:

sudo apt-get install python * o * python#

Gli ambienti contano

Una delle grandi cose di Python è che è incredibilmente semplice lavorare; questa semplicità è anche una delle insidie. La creazione di un ambiente appropriato per il lavoro sarà importante e può essere fonte di confusione all'inizio, perché potresti pensare di essere pronto a scrivere con esso semplicemente installato sul tuo computer.

È necessario ricordare che per qualsiasi versione di Python, sarà necessario distribuire la stessa impostazione nell'ambiente di produzione. Ad esempio, qualsiasi pacchetto che si ottiene dall'indice del pacchetto dovrà essere installato anche sulla macchina di produzione. È una buona idea tenere traccia di questi in un file di testo che può essere usato da pip per installarli in seguito.

La prima cosa da fare è impostare un ambiente virtuale.

Python 2

In Python 2 dovrai installare virtualenv usando pip:

pip install virtualenv

se si verifica un errore qui, dicendo che è necessario installare pip per primo, andare avanti e farlo. Pip è il modo più affidabile per gestire i pacchetti e, come dice il link sopra, è anche il modo consigliato di farlo. (suggerimento per gli utenti di OS X che sono arrivati ​​qui, prova sudo easy_install pip, potresti dover usare il comando come pip2 invece di pip, basta controllare la versione -version)

Con virtualenv installato, puoi semplicemente effettuare il cd nella directory del progetto e quindi creare un nuovo ambiente:

virtualenv [name_of_your_project]

questo crea un cestino di file python all'interno della directory corrente chiamata my_project. Ecco fatto, saltare a "Utilizzo del tuo ambiente virtuale" per vedere cosa fare dopo.

Python 3

In Python 3, potrebbe essere necessario installare il modulo dell'ambiente virtuale.

sudo apt-get install python3-venv

Una volta che hai, basta cd nella directory del progetto ed eseguire questo comando:

python -m venv [name_of_your_project]

questo crea un cestino di file python all'interno della directory corrente chiamata my_project.

Usando il tuo ambiente virtuale Python

Con il tuo ambiente installato, la procedura è praticamente la stessa in entrambe le versioni di Python. Ho incluso la directory di lavoro nei seguenti comandi per maggiore chiarezza.

[email protected]/to/my_dir$ source my_project/bin/activate

(my_project) [email protected]/to/my_dir$

Fondamentalmente, ciò che questo comando sta facendo è usare l'installazione locale e pulita di Python nel tuo ambiente virtuale per eseguire i tuoi comandi. Per verificare ciò, è possibile eseguire il proprio interprete Python dall'interno dell'ambiente e provare ad importare un modulo (numpy ad esempio) che si conosce nell'installazione principale di python.

Per tornare fuori dall'ambiente:

(my_project) [email protected]/to/my_dir$ deactivate

[email protected]/to/my_dir$

Ogni volta che sei nel tuo progetto come fonte, ricorda che cambierai l'ambiente di origine, ma non il tuo ambiente principale, quindi qualsiasi cosa tu faccia a quel Python è limitata a quell'ambiente.

Rendi il tuo ambiente Python utile

Mentre lavori, di tanto in tanto vuoi esportare un elenco dei pacchetti di ambiente, per poter installare gli stessi pacchetti di ambiente sulla tua macchina di produzione.

(my_project) [email protected]_dir$ pip freeze > requirements.txt

In questo modo creerai un file di testo all'interno della directory del progetto che fungerà da elenco di tutti i pacchetti Python installati in quell'ambiente. In questo modo, quando metti il ​​tuo progetto sulla tua macchina di produzione, devi semplicemente eseguire:

pip install -r requirements.txt

Esegui i programmi Python in Linux

Ora che abbiamo configurato correttamente l'ambiente di sviluppo, possiamo testarlo scrivendo un semplice codice Python. Io uso vim per scrivere codice, quindi è qui che mi vedrai avviare questo prossimo bit di codice Python3, quindi eseguirlo. Tieni presente che django non è installato sulla mia macchina principale, solo sulla sorgente.

import django

print("Got here")

Quindi, in pratica, devi solo usare il comando in basso per eseguire un programma Python in Linux:

python program-name.py

Scusa, ho dovuto cambiare ambiente per questa ultima gif, ma ottieni l'immagine. Si noti che sono in (my_project) come origine quando eseguo questa operazione la prima volta, e quindi ottengo l'errore quando sono fuori (my_project) come sorgente.

Ci sono un sacco di IDE là fuori, e molti di loro gestiscono bene questo tipo di cose, se presti attenzione a quello che stai facendo. Ricorda solo che l'installazione di python all'interno del tuo progetto è quella che vuoi usare per eseguire il tuo codice.

Big Caveat

Da quando ho commesso l'errore, in un'età più giovane di fare cose * nix, imparerò un po 'di saggezza qui. Non eseguire nessuno dei comandi pip come sudo . Ti rovinerai la tua installazione principale di Python, e questo rovinerà il tuo gestore di pacchetti Linux ... e in fondo, ti rovinerà la giornata. Una volta ho perso un'intera installazione di Mint, quindi ricordati di non sudo questa roba.

Se sei interessato, potresti anche imparare a usare pip su Ubuntu.

Raccomandato

Il framework AI Open Source di Facebook PyTorch è alla ricerca di Solid
2019
GalliumOS: la distribuzione Linux per i Chromebook
2019
Come chiudere le applicazioni in esecuzione nel telefono Ubuntu
2019