Pierwszy projekt w Django – hermetyzacja czyli wirtualne srodowisko

Długo nie mogłam się do tej idei przekonać przyzwyczajona do tego, że w frameworkach PHP takich jak Kohana czy Yii mogę na jednej instalacji budować sobie rozmaite, niezależne serwisy, oszczędzając przy tym miejsce na dysku (ja jestem z tych dinozaurów co i miejsce na dysku i pamięć operacyjną szanują, bo 486 miały jej mniej niż dzisiejsze pralki automatyczne). Jednak wiele argumentów przekonało mnie o tym, że jednak warto to robić.


  • Ułatwia pracę nad rożnymi projektami opartymi o różne wersje Django i korzystające z różnych kompletów bibliotek.
  • Migrację danego projektu można przeprowadzać na niezależnym środowisku deweloperskim nie tracąc starej, działającej wersji.
  • Możemy niezależnie testować różne biblioteki.
  • Unikamy rozmaitych problemów podczas przenoszenia projektu z serwera deweloperskiego na produkcyjny.
  • Unikamy kłopotów jakie mogłyby się pojawić w starszych projektach w wyniku aktualizacji jakiejś biblioteki.

Jak to zrobić? Ano najpierw trzeba z repozytorium systemowego zainstalować pakiet virtualenv, który umożliwi nam tworzenie i uruchamianie wirtualnych środowisk.

$ sudo apt-get install python-virtualenv

Kiedy już mamy odpowiednie narzędzie pora stworzyć wirtualne środowisko dla nowego projektu. Najlepiej w tym celu wybrać sobie miejsce i stworzyć katalog w którym przechowywany będzie projekt. Jak sobie to zorganizujemy to już kwestia prywatnych preferencji. Ja wszystkie projekty oparte na Django będę przechowywać w jednym katalogu, który jednocześnie jest moim workspace zdefiniowanym w Aptana, w oddzielnych podkatalogach. Po utworzeniu katalogu dla projektu tworzymy przypisane do niego wirtualne środowisko.

Gdybym chciała wykorzystywać w projekcie domyślną systemową wersję Pythona, w moim przypadku 2.7.12 wystarczy przejść do utworzonego katalogu projektu i stworzyć wirtualne środowisko o unikalnej nazwie.

$ cd /sciezka/do/katalogu/projektu
$ virtualenv nazwa_środowiska

Gdybym jednak chciała użyć innej wersji Pythona musze skorzystać z flagi -p i wskazac katalog z tą wersją. Na przykład tak:

$ cd /sciezka/do/katalogu/projektu
$ virtualenv nazwa_środowiska -p /usr/bin/python3.6

albo po prostu tak:

$ cd /sciezka/do/katalogu/projektu
$ virtualenv nazwa_środowiska -p python3

Po stworzeniu środowiska nalezy je uaktywnić w celu dalszej pracy.

$ source /sciezka/do/katalogu/projektu/nazwa_środowiska/bin/activate

Jedynym znakiem, że znajdujemy się w wirtualnym środowisku jest jego nazwa ujęta w nawiasy znajdująca się przed znakiem zachęty.

Dokumentacje pakietu virtualenv znajdziecie na stronie: virtualenv.pypa.io

Leave a Reply

%d bloggers like this: