Python virtuelle miljøer forklaret med eksempler

Virtuelle miljøer kan beskrives som isolerede installationsmapper. Denne isolering giver dig mulighed for at lokalisere installationen af ​​dit projekts afhængigheder uden at tvinge dig til at installere dem hele systemet.

Forestil dig, at du har to applikationer, App1 og App2. Begge bruger pakken Pak, men kræver forskellige versioner. Hvis du installerer Pak version 2.3 til App1, vil du ikke kunne køre App2, fordi den kræver version 3.1.

Dette er hvor virtuelle miljøer er nyttige.

Fordele:

  • Du kan have flere miljøer med flere sæt pakker uden konflikter mellem dem. På denne måde kan forskellige projekters krav opfyldes på samme tid.
  • Du kan nemt frigive dit projekt med dets egne afhængige moduler.

Her er to måder, du kan oprette virtuelle Python-miljøer på.

Virtualenv

virtualenver et værktøj, der bruges til at skabe isolerede Python-miljøer. Det opretter en mappe, der indeholder alle de nødvendige eksekverbare filer til at bruge de pakker, som et Python-projekt har brug for.

Du kan installere det med pip:

pip install virtualenv

Bekræft installationen med følgende kommando:

virtualenv --version

Opret et miljø

For at oprette et virtuelt miljø brug:

virtualenv --no-site-packages my-env

Dette opretter en mappe i det aktuelle bibliotek med navnet på miljøet ( my-env/). Denne mappe indeholder mapper til installation af moduler og Python-eksekverbare filer.

Du kan også angive den Python-version, du vil arbejde med. Brug bare argumentet --python=/path/to/python/version. For eksempel python2.7:

virtualenv --python=/usr/bin/python2.7 my-env

Liste miljøer

Du kan liste de tilgængelige miljøer med:

lsvirtualenv

Aktivér et miljø

Før du kan begynde at bruge miljøet, skal du aktivere det:

source my-env/bin/activate

Dette sikrer, at kun pakker under my-env/bruges.

Du vil bemærke, at navnet på miljøet vises til venstre for prompten. På denne måde kan du se, hvad der er det aktive miljø.

Installer pakker

Du kan installere pakker en efter en eller ved at indstille en requirements.txtfil til dit projekt.

pip install some-package pip install -r requirements.txt

Hvis du vil oprette en requirements.txtfil fra de allerede installerede pakker, skal du køre følgende kommando:

pip freeze > requirements.txt

Filen indeholder listen over alle pakker, der er installeret i det aktuelle miljø, og deres respektive versioner. Dette hjælper dig med at frigive dit projekt med sine egne afhængige moduler.

Deaktiver et miljø

Hvis du er færdig med at arbejde med det virtuelle miljø, kan du deaktivere det med:

deactivate

Dette sætter dig tilbage til systemets standard Python-tolk med alle dets installerede biblioteker.

Slet et miljø

Slet blot miljømappen.

Conda

Conda er en pakke, afhængighed og miljøstyring for mange sprog, herunder Python.

Følg disse instruktioner for at installere Conda.

Opret et miljø

For at oprette et virtuelt miljø brug:

conda create --name my-env

Conda opretter den tilsvarende mappe inde i Conda-installationsmappen.

Du kan også angive, hvilken version af Python du vil arbejde med:

conda create --name my-env python=3.6

Liste miljøer

Du kan liste alle tilgængelige miljøer med:

conda info --envs

Aktivér et miljø

Før du kan begynde at bruge miljøet, skal du aktivere det:

source activate my-env

Installer pakker

Det samme som med virtualenv.

Deaktiver et miljø

Hvis du er færdig med at arbejde med det virtuelle miljø, kan du deaktivere det med:

source deactivate

Fjern et miljø

Hvis du vil fjerne et miljø fra Conda, skal du bruge:

conda remove --name my-env