Open Source

How to: instalacja Django

Wskazówki na temat instalacji i uruchamiania Django.

Instalacja Pythona

Jako pythonowy framework webowy Django wymaga Pythona.

Django może być uruchomiony na Pythonie 2.3 i nowszym.

Możesz pobrać Pythona ze strony http://www.python.org. Jeśli używasz Linuksa lub Mac OS X najprawdopodobniej masz już go zainstalowanego.

Instalacja Apache i mod_pythona

Jeśli chcesz tylko poeksperymentować z Django, możesz ominąć tę część; Django zawiera lekki serwer http, który możesz wykorzystać do testowania, przez co nie musisz instalować Apache, dopóki nie będziesz potrzebował serwera produkcyjnego.

Jeżeli jednak potrzebujesz serwera produkcyjnego, użyj serwera Apache z mod_pythonem. mod_python jest podobny do mod_perla — włącza on kod Pythona do Apache’a i ładuje kod w Pythonie do pamięci przy uruchomieniu serwera. Kod pozostaje w pamięci przez cały czas działania procesu Apache, co niesie ze sobą zysk wydajności w porównaniu do innych ustawień serwera. Upewnij się, że masz zainstalowanego Apache z aktywnym modułem mod_python. Django wymaga Apache 2.x i mod_pythona 3.x

Zobacz How to - używanie Django z mod_pythonem, aby uzyskać więcej informacji w jaki sposób skonfigurować mod_pythona, gdy już jest zainstalowany.

Jeśli z jakichś przyczyn nie możesz użyć mod_pythona, nie ma problemu: Django jest zgodne ze specyfikacją WSGI, co umożliwia uruchomienie go na szerokiej gamie platform serwerowych. W celu uzyskania szczegółowych informacji na temat instalacji na poszczególnych platformach zerknij na stronę wiki Server Arrangements.

Uruchomienie bazy danych

Jeśli planujesz używać bazy danych poprzez API Django, upewnij się, że serwer bazodanowy działa. Django współpracuje z następującymi serwerami: PostgreSQL, MySQL, Oracle i SQLite (przy czym SQLite nie wymaga osobnego procesu serwera bazy danych).

Ponadto sprawdź, czy są zainstalowane odpowiednie sterowniki bazy danych.

  • Dla PostgreSQL potrzebujesz pakietu psycopg. Django wspiera zarówno wersję 1 jak i 2 (przy konfiguracji warstwy bazodanowej w Django, dla wersji 1 ustaw postgresql, a dla wersji 2 postgresql_psycopg2).

    Jeśli pracujesz na Windowsie sprawdź nieoficjalne wersje skompilowane na Windows.

  • Jeśli używasz MySQL, będziesz potrzebować MySQLdb, w wersji 1.2.1p2 lub wyższej. Zapewne zainteresują Cię też notki specyficzne dla tej bazy, zawarte na stronie MySQL backend.

  • Jeśli używasz SQLite i Pythona w wersji 2.3 bądź 2.4, będziesz potrzebować pysqlite. Użyj wersji 2.0.3 lub wyższej. Python 2.5 rozprowadzany jest z wrapperem sqlite w bibliotece standardowej, więc nie musisz w tym przypadku instalować nic ponadto.

  • Jeśli używasz Oracle, będziesz potrzebować cx_Oracle, w wersji 4.3.1 bądź wyższej. Zapewne zainteresują Cię też notki specyficzne dla tej bazy, zawarte na stronie Oracle backend.

Jeśli planujesz używać djangowego polecenia manage.py syncdb w celu zautomatyzowania procesu tworzenia tabel w bazie danych dla Twojego modelu, będziesz musiał mieć pewność, że Django ma uprawnienia do tworzenia i modyfikowania tabel w używanej przez ciebie bazie danych. Jeśli planujesz tworzyć tabele ręcznie, możesz zwyczajnie nadać Django uprawnienia SELECT, INSERT, UPDATE i DELETE. W przypadku niektórych baz danych Django będzie potrzebować uprawnień do ALTER TABLE w czasie wykonywania syncdb, lecz nie wpłynie to na deklarację ALTER TABLE tabeli która została utworzona przez syncdb.

Jeśli używasz frameworka testowego Django by zbadać zapytania do bazy danych, będziesz potrzebować uprawnień do utworzenia testowej bazy danych.

Usuń wszelkie stare wersje Django

Jeśli uaktualniasz swoją instalację Django ze starszej wersji, będziesz musiał odinstalować starą wersję przed instalacją nowej.

Jeśli zainstalowałeś Django przy użyciu setup.py install, zwyczajnie je odinstaluj usuwając katalog django z site-packages.

Jeśli zainstalowałeś Django z pythonowego pakietu egg, usuń plik .egg z Django i odniesienie do tego pliku z pliku easy-install.pth. Plik ten również powinien znajdować się w Twoim katalogu site-packages.

Gdzie się znajduje mój katalog site-packages?

Położenie katalogu site-packages zależy od rodzaju systemu operacyjnego i położenia katalogu w którym został zainstalowany Python. Aby odnaleźć położenie site-packages w swoim systemie wykonaj poniższe polecenie:

python -c "from distutils.sysconfig import get_python_lib; \
           print get_python_lib()"

(Zauważ, że powyższa komenda powinna zostać wykonana w środowisku powłoki systemowej, nie w trybie interaktywnym Pythona)

Instalacja kodu Django

Instrukcje instalacyjne mogą się delikatnie różnić, w zależności od tego czy instalujesz Django z paczek dla określonej dystrybucji, pobierasz ostatnie oficjalne wydanie czy może ostatnią wersję rozwojową.

Bez względu na to jaką metodę wybierzesz, instalacja Django jest naprawdę prosta.

Instalacja z paczek dla określonych dystrybucji

Sprawdź notki specyficzne dla określonych dystrybucji aby przekonać się, czy Twoja platforma/dystrybucja nie zapewnia oficjalnych paczek/instalatorów Django. Paczki dostarczone przez Twoją dystrybucję zazwyczaj umożliwiają automatyczną instalację wraz z zależnościami i łatwe uaktualnianie ścieżek.

Instalacja oficjalnego wydania

  1. Pobierz ostatnią wersję ze strony download.
  2. Rozpakuj ściągnięte archiwum (np. za pomocą tar xzvf Django-NNN.tar.gz gdzie NNN jest numerem wersji ostatniego wydania). Jeśli używasz Windows możesz pobrać działające w linii poleceń narzędzie bsdtar lub użyć narzędzia z GUI, takiego jak 7-zip.
  3. Zmień bieżący katalog na utworzony w kroku 2 (np. cd Django-NNN).
  4. Jeśli używasz Linuksa, Mac OS X lub inny system uniksopodobny wprowadź w linię poleceń sudo python setup.py install. Jeśli używasz Winsows, uruchom powłokę poleceń z uprawnieniami administratora i wykonaj polecenie setup.py install.

Te polecenia zainstalują Django w katalogu site-packages Twojej instalacji Pythona.

Instalacja wersji rozwojowej

Jeśli chciałbyś móc uaktualniać swój kod Django sporadycznie po poprawieniu ostatnich bugów i wprowadzenia usprawnień, podążaj za tymi instrukcjami:

  1. Upewnij się, że masz zainstalowane Subversion i możesz wykonywać jego komendy ze środowiska powłoki (aby to przetestować wprowadź svn help w linię poleceń).

  2. Pobierz główną gałąź rozwojową Django (‘trunk’) za pomocą:

    svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
    
  3. Następnie zadbaj o to by interpreter Pythona mógł załadować kod Django. Jest wiele sposobów na wykonanie tej czynności. Jednym z najwygodniejszych na Linuksie, Mac OSX lub innym systemie uniksopodobnym jest użycie linka symbolicznego:

    ln -s `pwd`/django-trunk/django SITE-PACKAGES-DIR/django
    

    (W powyższej linii zmień SITE-PACKAGES-DIR tak by pasował do lokalizacji katalogu site-packages w Twoim systemie, co zostało wytłumaczone w sekcji powyżej - “Gdzie się znajduje mój katalog site-packages?”.)

    Alternatywnie, możesz zdefiniować swoją zmienną systemową PYTHONPATH tak by zawierała katalog django-trunk. Może być to najwygodniejsze rozwiązanie dla użytkowników systemu Windows, który nie spiera linków symbolicznych (zmienne środowiskowe mogą być definiowane w systemie Windows z Panelu Sterowania).

    Co z Apache i mod_pythononem?

    Jeśli wybrałeś rozwiązanie z ustawieniem zmiennej PYTHONPATH, musisz pamiętać by zrobić to samo w konfiguracji Apache przy wdrożeniu w środowisku produkcyjnym. Ustaw PythonPath w pliku konfiguracyjnym Apache.

    Więcej informacji o wdrażaniu jest dostępnych w naszej dokumentacji Jak używać Django z mod_pythonem.

  4. Na systemach uniksopodobnych utwórz link symboliczny do pliku django-trunk/django/bin/django-admin.py w katalogu w twojej ścieżce systemowej, takim jak /usr/local/bin. Na przykład:

    ln -s `pwd`/django-trunk/django/bin/django-admin.py /usr/local/bin
    

    Zabieg ten pozwala wpisać django-admin.py z poziomu każdego katalogu zamiast wpisywania polecenia z pełną ścieżką do pliku.

    Na systemie Windows można osiągnąć ten sam rezultat kopiując plik django-trunk/django/bin/django-admin.py gdziekolwiek w swojej ścieżce systemowej, np. C:\Python24\Scripts.

Nie musisz uruchamiać python setup.py install, ponieważ dopiero co wykonałeś równoważne działania w kokach 3 i 4.

Jeśli chcesz uaktualnić swoją kopię kodu źródłowego Django, po prostu wykonaj polecenie svn update z wnętrza katalogu django-trunk. Subversion automatycznie pobierze wszelkie zmiany.

Pytania/Wsparcie

Jeżeli zauważyłeś błędy w tłumaczeniu dokumentacji proszę zgłoś je nam.