Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

Presentazione

Le applicazioni Python utilizzeranno regolarmente bundle e moduli che non sono presenti nella libreria standard. Le applicazioni avranno bisogno una volta ogni tanto di un particolare adattamento di una libreria, sulla base del fatto che l’applicazione potrebbe richiedere che un bug specifico sia stato risolto o che l’applicazione potrebbe essere composta utilizzando un modulo obsoleto dell’interfaccia della libreria.

Ciò implica che potrebbe non essere fattibile per uno stabilimento Python soddisfare i prerequisiti di ogni applicazione. Nella remota possibilità che l’applicazione A necessiti dell’adattamento 1.0 di un modulo specifico ma l’applicazione B abbia bisogno del modulo 2.0, a quel punto i prerequisiti sono in difficoltà e l’introduzione del modulo 1.0 o 2.0 lascerà una applicazione incapace di funzionare.

La risposta a questo problema è di creare un dominio virtuale, un albero di registro indipendente che contenga uno stabilimento Python per una specifica forma di Python, oltre ad alcuni dei pacchetti extra.

Diverse applicazioni sarebbero quindi in grado di utilizzare diverse situazioni virtuali. Per determinare il precedente caso di necessità contrastanti, l’applicazione A può avere una propria condizione virtuale con la variante 1.0 introdotta, mentre l’applicazione B ha un’altra condizione virtuale con la forma 2.0. Nel caso in cui l’applicazione B richieda di spostare una libreria fino alla variante 3.0, questo non influenzerà la situazione dell’applicazione A.

12.2. 12.2. Situazioni virtuali

Il modulo utilizzato per creare e supervisionare situazioni virtuali si chiama venv. venv. di solito introduce l’ultima variante di Python che si ha a disposizione. Nella remota possibilità che abbiate vari adattamenti di Python sul vostro framework, potete scegliere un particolare modulo Python eseguendo python3 o qualunque sia la versione di cui avete bisogno.

Per creare un dominio virtuale, sistemarlo su un registro dove è necessario inserirlo, ed eseguire il modulo venv come contenuto con il metodo dell’indice:

python3 -m venv tutorial-env

Questo renderà l’esercizio didattico invidiabile nel caso in cui non esista, e inoltre farà degli indici al suo interno contenenti un duplicato del traduttore Python, la libreria standard e diversi documenti di supporto.

Una tipica area di catalogo per una situazione virtuale è .venv. Questo nome mantiene il catalogo normalmente coperto nel vostro piatto e di conseguenza fuori dai sentieri battuti, dandogli un nome che chiarisce il motivo dell’esistenza del registro. Allo stesso modo, anticipa anche il conflitto con i record di definizione delle variabili di condizione .env che alcuni supporti di tooling sono in conflitto con i record di definizione delle variabili.

Quando si è creata una situazione virtuale, è possibile azionarla.

Su Windows, eseguire:

tutorial-env\Scripts\activate.bat

Su Unix o MacOS, eseguire:

source tutorial-env/bin/activate

(Questo copione è scritto per il bash shell. Se usate il csh o le conchiglie di pesce, ci sono script alternativi activate.csh e activate.fish che dovreste usare al suo posto).

L’avvio della condizione virtuale cambierà il brief della vostra shell per mostrare quale condizione virtuale state utilizzando, e altererà la natura con l’obiettivo che il pitone in esecuzione vi darà quella specifica forma e costituzione di Python. Per esempio:

(tutorial-env) $ pitone

Python 3.5.1 (default, 6 maggio 2016, 10:59:36)

  …

>>>importare il sistema

>>>> sys.path

[”, ‘/usr/local/lib/python35.zip’, ….,

~/envs/tutoriale-env/lib/python3.5/pacchetti sito]].

Gestione dei pacchetti con pip

Supervisione dei pacchetti con pip

È possibile introdurre, revisionare ed espellere i bundle utilizzando un programma chiamato pip. Naturalmente, pip introdurrà i bundle dal Python Bundle File, <https://pypi.org>. Potete sfogliare il Python Bundle Record andandoci nel vostro browser internet, oppure potete utilizzare il punto culminante della caccia vincolata di pip:

(tutorial-env) $ pip ricerca astronomia

skyfield – Astronomia elegante per Python

gary – Astronomia galattica e dinamica gravitazionale.

novas – L’Osservatorio Navale degli Stati Uniti NOVAS biblioteca astronomica NOVAS

astroobs – Fornisce effemeridi astronomiche per pianificare le osservazioni del telescopio

Piastronomia – Una raccolta di strumenti di astronomia per il Pitone.

pip ha una serie di sottocomandi: “search”, “install”, “uninstall”, “uninstall”, “freeze”, ecc. (Consultare la guida all’installazione dei moduli Python per la documentazione completa di pip.)

È possibile installare l’ultima versione di un pacchetto specificando il nome del pacchetto:

(tutorial-env) $ pip install novas

Raccolta di novelle

  Scaricare novas-3.1.1.1.3.tar.gz (136kB)

Installazione dei pacchetti raccolti: novas

  Esecuzione di setup.py install per novas

Novas-3.1.1.1.3 installato con successo

È anche possibile installare una versione specifica di un pacchetto indicando il nome del pacchetto seguito da === e il numero di versione:

(tutorial-env) $ pip install requests==2.6.0

Raccolta delle richieste==2.6.0

  Utilizzo di richieste in cache-2.6.0-py2.py3-none-qualsiasi.whl

Installazione dei pacchetti raccolti: richieste

Richieste installate con successo-2.6.0

Nel caso in cui si riesegua questo ordine, pip si accorgerà che la variante menzionata è già stata introdotta e rimarrà inattiva. Potete fornire un numero di adattamento alternativo per ottenere quel modulo, oppure potete eseguire pip introduce – spostatevi in alto per aggiornare il bundle alla variante più recente:

tutorial-env) $ pip install – richieste di aggiornamento

Raccolta delle richieste

Installazione dei pacchetti raccolti: richieste

  Trovato impianto esistente: richieste 2.6.0

    Disinstallazione richieste-2.6.0:

      Richieste disinstallate con successo-2.6.0

Richieste installate con successo-2.7.0

pip uninstall seguito da uno o più nomi di pacchetti rimuoverà i pacchetti dall’ambiente virtuale.

pip show mostrerà informazioni su un particolare pacchetto:

(tutorial-env) richieste di $ pip show

Versione carne: 2.0

Nome: richieste

Versione: 2.7.0

Sommario: Python HTTP per gli umani.

Home-page: http://python-requests.org

Autore: Kenneth Reitz

E-mail dell’autore: me@kennethreitz.com

Licenza: Apache 2.0

Posizione: /Utenti/akuchling/envs/tutorial-env/lib/python3.4/pacchetti di sito

Richiede:

pip list visualizzerà tutti i pacchetti installati nell’ambiente virtuale:

(tutorial-env) lista $ pip

novas (3.1.1.3)

intorpidito (1.9.2)

pip (7,0,3)

richieste (2,7,0)

strumenti di configurazione (16.0)

pip freeze produrrà una lista simile dei pacchetti installati, ma l’output utilizza il formato che pip installerà. Una convenzione comune è quella di mettere questa lista in un file requirements.txt:

(tutorial-env) $ pip freeze > requirements.txt

(tutorial-env) $ requisiti per i gatti.txt

novas==3.1.1.3

numpy==1.9.2

requests==2.7.0

Il requirements.txt può quindi essere impegnato nel controllo di versione e spedito come parte di un’applicazione. Gli utenti possono quindi installare tutti i pacchetti necessari con install -r:

(tutorial-env) $ pip install -r requirements.txt

Raccolta di novas==3.1.1.3 (da -r requirements.txt (riga 1))

  …

Raccolta numpy==1.9.2 (da -r requirements.txt (riga 2))

  …

Raccolta delle richieste==2.7.0 (da -r requirements.txt (riga 3))

  …

Installazione dei pacchetti raccolti: novas, numpy, richieste

  Esecuzione di setup.py install per novas

Installato con successo novas-3.1.1.1.3 numpy-1.9.2 richieste-2.7.0