Il concetto alla base di questi file è semplice e analogo ad altri strumenti già esistenti, se si ha familiarità con Ruby Bundler o Node's Npm. Pipenv
è sia un pacchetto che uno strumento di gestione dell'ambiente virtuale che utilizza i file Pipfile e Pipfile.lock per raggiungere questi obiettivi.
Pipenv gestisce l'ambiente virtuale per te in un modo standard predefinito (non è più necessario attivare e disattivare la funzione). Di seguito, alcune nozioni di base per iniziare, vedere di più sul sito Web pipenv .
Iniziare
Iniziare a usare pipenv è facile, nel tipo di cartella del progetto ...
$ pipenv install
... e se ha già un requirements.txt
file, genererà un Pipfile
file con i requisiti e una cartella di ambiente virtuale, altrimenti genererà un Pipfile
file vuoto . Se non ti è piaciuto o hai cambiato idea su qualcosa che hai installato, basta digitare ...
$ pipenv uninstall <package>
... e sei a posto. Per attivare l'ambiente virtuale che pipenv ha già generato, vai con ...
$ pipenv shell
... e il tuo ambiente virtuale verrà attivato. Per lasciare l'ambiente ...
$ exit
... e tornerai alla sessione terminale originale.
Pipfile
Il file Pipfile ha lo scopo di specificare i requisiti dei pacchetti per l'applicazione o la libreria Python, sia per lo sviluppo che per l'esecuzione. Puoi installare un pacchetto semplicemente usando ...
$ pipenv install flask
... e verrà aggiunto come dipendenza per la distribuzione e l'esecuzione o usando ...
$ pipenv install --dev pytest
... e verrà utilizzato come dipendenza per i tempi di sviluppo. La sintassi del file è piuttosto semplice, come segue.
[[source]] # Here goes your package sources (where you are downloading your packages from).
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages] # Here goes your package requirements for running the application and its versions (which packages you will use when running the application).
requests = "*"
flask = "*"
pandas = "*"
[dev-packages] # Here goes your package requirements for developing the application and its versions (which packaes you will use when developing the application)
pylint = "*"
wheel = "*"
[requires] # Here goes your required Python version.
python_version = "3.6"
Pipfile.lock
Il Pipfile.lock è destinato a indicare, in base alla presente pacchetti in Pipfile , che deve essere usato versione specifica di questi, evitando i rischi di aggiornare automaticamente i pacchetti che dipendono tra loro e rompere il progetto di dipendenza albero.
Puoi bloccare i pacchetti attualmente installati usando ...
$ pipenv lock
... e lo strumento cercherà la cartella dell'ambiente virtuale per generare automaticamente il file di blocco, in base alle versioni attualmente installate. La sintassi del file non è così ovvia come per Pipfile , quindi per motivi di concisione, non verrà visualizzata qui.
Gemfile
eGemfile.lock
dal mondo Ruby: il.lock
file ha versioni specifiche per ogni dipendenza; quello senza quell'estensione ha solo le versioni da uomo a controllo-umano. Detto questo, chiedere una spiegazione di qualcosa che è ancora in evoluzione e molto lontano dall'essere ben definito, molto meno standardizzato, è forse un po 'prematuro.