Python
Python

Czym jest virtualvenv ? Virtualenv to wirtualne środowisko, które rozwiązuje problem z nie zawsze kompatybilnymi ze sobą wersjami Pythona. Zadaniem jego jest oddzielenie środowiska Pythonowego dla każdego z projektów z osobna. Oznacza to, że zmiany dokonanie w jednej aplikacji nie wpłyną na zmianę innych. Dzięki temu pozwala rozpocząć pracę z dobrą konfiguracją.

Konfiguracja

Jedyne co należy tutaj zrobić, to wybrać katalog w którym zostanie utworzony virtualvenv. Na potrzebę tutoriala stwórzmy katalog projekt:

mkdir projekt
cd projekt

Można teraz stworzyć własne środowisko wirtualne, polecenie ma następujący format (oczywiście nazwę osworld można zastąpić własną nazwą):

python3 -m venv osworld

Praca z virtualenv

Powyższa instrukcja tworzy katalog o nazwie projekt, zawierający nasze środowisko wirtualne (zbiór katalogów i plików). Środowisko wirtualne uruchamia się za pomocą polecenia:

~/projekt$ source osworld/bin/activate

O tym, że virtualenv jest uruchomiony dowiemy, gdy zobaczymy w swojej konsoli prompt podobny do tego:

(osworld) ~/projekt$

Można zobaczyć że, pojawił się tam prefix osworld, w trakcie pracy ze środowiskiem wirtualnym python będzie automatycznie odnosił się do właściwej wersji. Nie trzeba tam wpisywać python3, wystarczy python. Chcąc wyłączyć środowisko wpisujemy

deactivate

Wszystko zostało przygotowane do tego aby móc zainstalować sobie np. Django. Zajmiemy się tym w następnej części artykułu.

Poprzedni artykułNowe wydanie MusE
Następny artykułSysOps / DevOps Kraków MeetUp #2 już 17 stycznia

2 KOMENTARZE

  1. Jeszcze fajniejszy jest virtualenvwrapper, który pozwala zarządzać wieloma środowiskami wirtualnymi i jest dostępny w repozytoriach pakietów np. Debiana. Po instalacji może być konieczne skonfigurowanie zmiennych środowiskowych $WORKON_HOME (katalog z virtualenvami, tj. interpreterami oraz bibliotekami) i $PROJECT_HOME (katalog z projektami tj. kodem źródłowym).

    Swoją drogą, należy uważać na przypadek, w którym aktualizujemy Pythona na systemie-gospodarzu. Możliwe bowiem, że w virtualenvie będzie „zalegał” przestarzały interpreter, który będzie chciał korzystać ze zaktualizowanej biblioteki standardowej i „wybuchnie w twarz” z niejasnej przyczyny, np. rzucając ImportError przy ładowaniu niektórych modułów.

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj