Pitone

Tutorial Python Virtualenv

Tutorial Python Virtualenv
I mal di testa della gestione delle dipendenze sono comuni agli sviluppatori. Un aggiornamento errato richiede ore di ricerca per essere corretto.  Spesso più applicazioni si sovrappongono sui requisiti di dipendenza della libreria.  Ciò potrebbe far sì che due applicazioni in esecuzione nello stesso ambiente richiedano due versioni della stessa libreria.  Questo tipo di conflitti potrebbe causare una serie di problemi sia nello sviluppo che nella produzione.Entra in Virtualenv.  Virtualenv è uno strumento che crea silos di dipendenza.  Ti consente di distribuire applicazioni in un singolo ambiente con dipendenze isolate. Docker utilizza una strategia simile a livello di sistema operativo. Virtualenv segrega solo a livello di Python e libreria, ovvero gli ambienti eseguibile e librerie Python sono unici per quell'ambiente virtuale.  Quindi, invece di utilizzare le librerie installate a livello di ambiente del sistema operativo, puoi separare le versioni e le librerie di Python in ambienti virtuali in silos.  Ciò consente di distribuire più applicazioni nello stesso ambiente del sistema operativo con versioni diverse delle stesse dipendenze.

Installa Virtualenv

L'installazione di Virtualenv è semplice. Usando pip, puoi eseguire il comando seguente dal terminale.

$ pip installa virtualenv

In alternativa, se si utilizza Anaconda, sarà necessario utilizzare invece il comando del terminale sottostante.

$ conda install virtualenv

L'output del tuo terminale dovrebbe essere simile al seguente.

Bradleys-Mini:~ BradleyPatton$ pip install virtualenv
Raccolta virtualenv
Download virtualenv-15.1.0-py2.py3-none-qualsiasi.whl (1.8MB)
100% |████████████████████████████████| 1.8 MB 267 kB/s
Installazione dei pacchetti raccolti: virtualenv
virtualenv-15 installato con successo.1.0
Bradleys-Mini:~BradleyPatton$

Crea un ambiente

Virtualenv ha un comando principale. La riga sottostante eseguita dal terminale creerà un nuovo "silo" o ambiente virtuale Python nella directory Tutorial.

Tutorial $ virtualenv

Dovresti ottenere un output del terminale come di seguito dopo l'esecuzione.

Bradleys-Mini:pacchetti-sito BradleyPatton$ virtualenv Tutorial
Sovrascrittura /Utenti/BradleyPatton/anaconda/lib/python2.7/sito-
packages/Tutorial/lib/python2.7/prefisso-orig.txt con nuovi contenuti
Nuovo eseguibile Python in /Users/BradleyPatton/anaconda/lib/python2.7/sito-
pacchetti/Tutorial/bin/python
copiando /Users/BradleyPatton/anaconda/bin/python =>
/Utenti/BradleyPatton/anaconda/lib/python2.7/pacchetti-sito/Tutorial/bin/python
copiando /Users/BradleyPatton/anaconda/bin/… /lib/libpython2.7.dylib =>
/Utenti/BradleyPatton/anaconda/lib/python2.7/pacchetti-sito/Tutorial/lib/
libpython2.7.dylib
Installazione di setuptools, pip, wheel... fatto.

Il comando virtualenv creerà una struttura di directory che include un binario, una libreria e una directory include per il nuovo ambiente virtuale che è stato creato.

Bradleys-Mini:Tutorial BradleyPatton$ ls
bin                            lib
includi                       pip-selfcheck.json
Bradleys-Mini:Tutorial BradleyPatton$

/bidone contiene i tuoi eseguibili in particolare Python e pip.

Bradleys-Mini:bin BradleyPatton$ ls
attiva                    easy_install-2.7           python-config
attivare.csh                pip                        python2
attivare.pesce               pip2                        python2.7
attivare_questo.py           pip2.7                       ruota
easy_install                 python
Bradleys-Mini:bin BradleyPatton$

Il /lib e /includere le directory includono file di supporto per Python e l'applicazione da sviluppare.

Attiva Virtualenv

Lo script di attivazione aggiorna il tuo percorso in modo che tu possa utilizzare questo ambiente virtuale senza il fastidio di navigare nella directory. Lo rende un po' più facile da usare, ma potrebbe essere saltato se sei un ninja terminale e non ti interessano i tasti.

Nel /bidone directory c'è uno script di attivazione BASH. È possibile eseguire utilizzando quanto segue.

$ ./attivare

Se noterai dal mio armeggiare di seguito che ho dovuto modificare il permesso del file per l'esecuzione. ho usato il CHMOD 700 attiva comando per aggiornare i permessi. Potrebbe anche essere necessario eseguire questo aggiornamento prima di eseguire lo script di attivazione.

Bradleys-Mini:bin BradleyPatton$ ls
attiva              easy_install-2.7     python-config
attivare.csh           pip                  python2
attivare.pesce          pip2                 python2.7
attivare_questo.py       pip2.7                ruota
easy_install           python
Bradleys-Mini:bin BradleyPatton$ ./attivare
-bash: ./activate: permesso negato
Bradleys-Mini:bin BradleyPatton$ sudo ./attivare
Parola d'ordine:
sudo: ./activate: comando non trovato
Bradleys-Mini:bin BradleyPatton$ chmod 700 attivare
Bradleys-Mini:bin BradleyPatton$ ./attivare
Bradleys-Mini:bin BradleyPatton$

Disattiva Virtualenv

Per annullare le modifiche apportate alla variabile d'ambiente da attivare, eseguire il seguente comando dal terminale. Questo ripristinerà i tuoi cambiamenti di percorso come se non fossero mai accaduti. E 'così semplice.

$ disattivare

Rimozione di un ambiente

Rimuovere un ambiente virtuale è semplice come rm. Digita semplicemente quanto segue per rimuovere la directory e ricorsivamente il suo contenuto.

$ rm -r Tutorial da rimuovere

ora che cosa?

Bene, ora devi installare le tue librerie e applicazioni nel nuovo ambiente virtuale.  Pip semplifica l'approvvigionamento delle tue librerie.

Non entrerò nelle sottigliezze di pip, alcune delle quali possono essere trovate qui, ma dimostrerò una singola installazione pip.

$ pip installa panda (Tutorial) Bradleys-Mini:bin BradleyPatton$ pip installa panda
Collezionare panda
Utilizzo dei panda memorizzati nella cache-0.22.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.quando
Raccolta numpy>=1.9.0 (dai panda)
Utilizzo di numpy-1 nella cache.14.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.quando
Raccolta di python-dateutil (dai panda)
Utilizzo della cache python_dateutil-2.6.1-py2.py3-none-qualsiasi.quando
Collezionare pytz>=2011k (dai panda)
Utilizzo di pytz-2017 memorizzato nella cache.3-py2.py3-none-qualsiasi.quando
Raccogliendo sei>=1.5 (da python-dateutil->panda)
Utilizzo della cache sei-1d.11.0-py2.py3-none-qualsiasi.quando
Installazione dei pacchetti raccolti: numpy, six, python-dateutil, pytz, pandas
numpy-1 . installato con successo.14.0 panda-0.22.0
python-dateutil-2.6.1 pytz-2017.3 sei-1.11.0
(Tutorial) Bradleys-Mini:bin BradleyPatton$

Il seguente comando aprirà una riga di comando dell'interprete Python.  Importerò la nostra nuova libreria di panda e controllerò la versione. La versione 19 è la mia versione panda globale, ma come puoi vedere dall'output del terminale, la versione utilizzata nel nostro ambiente virtuale Tutorial è 22.

$ python (Tutorial) Bradleys-Mini:bin BradleyPatton$ python
Python 2.7.13 |Continuum Analytics, Inc.| (predefinito, 20 dic 2016, 23:05:08)
[CGC 4.2.1 Apple LLVM 6 . compatibile.0 (clang-600.0.57)] su darwin
Digita "aiuto", "copyright", "crediti" o "licenza" per ulteriori informazioni.
Anaconda è offerto da Continuum Analytics.
Si prega di controllare: http://continuum.io/grazie e https://anaconda.organizzazione
>>> importa panda
>>> panda.__versione__
u'0.22.0'
>>>

Questo tutorial dovrebbe iniziare con Virtualenv.  Ho aggiunto il collegamento alla pagina Virtualenv che può aiutare con alcune configurazioni approfondite utilizzando parametri e impostazioni di configurazione che possono essere utilizzati in circostanze speciali.

Riferimenti

https://virtualenv.pypa.io/en/stabile

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...