Wirtualne środowisko - PyPI, venv¶
Informacja
Może Ciebie również zaintersować artykuł: Python 3 & venv
PyPI¶
The Python Package Index (PyPI) to repozytorium pakietów (bibliotek i programów) dla języka Python dostępne pod adresem https://pypi.org/.
Przykładowe narzędzia dostępne w repozytorium:
pycodestyle - https://pypi.org/project/pycodestyle/,
pytest - https://pypi.org/project/pytest/,
django - https://pypi.org/project/Django/,
flask - https://pypi.org/project/Flask/.
Częste pytanie: Jak dodać własną bibliotekę/program do repozytorium? Instrukcja: https://packaging.python.org/tutorials/packaging-projects/
Zarządzanie pakietami (wyszukiwanie, instalacja, aktualizacja, dezinstalacja, wypisanie listy zainstalowanych pakietów) odbywa się za pomocą, uruchamianego z konsoli, programu pip.
Najważniejsze polecenie - wyświetla dostępne polecenia i ich opis:
pip
Przykłady:
Wyszukiwanie pakietów powiązanych z biblioteką pytest:
pip search pytest
Instalacja pakietu:
pip install pytest
Instalacja konkretnej wersji pakietu:
pip install pytest==4.3.0
Aktualizacja pakietu do najnowszej wersji:
pip install --upgrade pytest
Dezinstalacja pakietu:
pip uninstall pytest
Wypisanie listy zainstalowanych pakietów:
pip list
Więcej informacji na temat zarządzania pakietami: https://packaging.python.org/tutorials/installing-packages/
Problemy?¶
Przykładowy problem:
Którą wersję biblioteki zainstalować, jeśli chcę korzystać z dwóch programów w tej samej chwili, a korzystają one z tych samych bibliotek, ale w różnych wersjach? Czy różne wersje tej samej biblioteki będą ze sobą współpracować?
Program A - Wymaga Django w wersji 2.1.
Program B - Wymaga Django w wersji 1.11 (LTS).
venv¶
Wirtualne środowisko pozwala zarządzać pakietami bez ingerencji w systemową instalację Pythona.
Moduł venv odpowiedzialny za tworzenie wirtualnego środowiska dostarczany jest wraz z domyślną instalacją Pythona 3.7. W niektórych dystrybucjach Linuksa (np. Debian/Ubuntu) może być konieczne doinstalowanie dodatkowego pakietu zawierającego moduł venv.
Utworzenie wirtualnego środowiska jest możliwe za pomocą polecenia python -m venv
, argumentem do modułu jest nazwa środowiska (w poniższym przykładzie webenv):
python -m venv webenv
W przypadku powłoki BASH, do aktywacji środowiska służy polecenie source. Parametrem jest_ścieżka do skryptu, który odpowiednio zmienia zmienne środowiskowe (np. PATH
, PS1
):
source webenv/bin/activate
W przypadku powłoki systemu Windows aktywację środowiska przeprowadza się_poprzez_uruchomienie skryptu activate.
webenv\Scripts\activate
Do dezaktywacji środowiska służy polecenie:
deactivate
Po aktywacji możemy używać poleceń związanych z pythonem. Przyładowo, instalację Django w wersji 1.8.13 wykonujemy poleceniem:
pip install Django==1.8.13
Innymi komendami, które warto znać, są:
pip freeze > nazwa_pliku
pip install -r nazwa_pliku
Pierwsze polecenie polecenie tworzy plik, którego zawartością jest lista zainstalowanych w środowisku pakietów, wraz z ich wersjami. Ogólnie przyjęta nazwa pliku to requirements.txt
. Tworząc nowe, czyste środowisko możemy wczytać taką listę i zainstalować pakiety w niej zawarte (drugie polecenie).