Poradnik instalacyjny

Instalacja i uruchamianie Django – Pomocne wskazówki

Krok pierwszy – instalacja Pythona

Django dostosowane jest do specyfikacji WSGI, więc działa na dowolnych serwerach internetowych, które spełniają wymagania tego interfejsu.

Można korzystać z Python 2.3 jak również nowszych wersji tego języka programowania. W tym celu pobiera się Pythona ze strony Python Software Foundation, a mianowicie http://www.python.org. Korzystając z tej strony można także zostać członkiem fundacji i starać się w przyszłości o status stypendysty Pythona.

U niektórych użytkowników Python jest już wcześniej zainstalowany, np. gdy korzysta się z Linuksa czy też Mac OS X. Instalacja Apache zależna jest od tego czy potrzebujesz serwera produkcyjnego. Jeśli zachodzi taka konieczność Apache należy zainstalować wraz z mod_pythonem.

Krok drugi – uruchomienie bazy danych

Django współpracuje z takimi serwerami jak PostgreSQL, MySQL, Oracle oraz SQLite. A zatem używanie bazy danych z zastosowaniem API Django wymaga sprawdzenia czy serwer bazodanowy działa. Oprócz tego należy upewnić się czy zainstalowane są właściwe sterowniki bazy danych.

PostgreSQL wymaga użycia pakietu psycopg. Dozwolone jest wykorzystanie wersji 1 oraz 2 (podczas konfiguracji bazodanowej w Django dla wersji 1 wybierz postgresql natomiast dla wersji 2 postgresql_psycopg2).

MySQL wymaga zastosowania MySQLdb w wersji 1.2.1p2 lub wyższej.

Używanie SQLite i Pythona w postaci 2.3 lub 2.4 wymaga zastosowania pysqlite w wersji 2.0.3 albo wyższej. Przy czym Python 2.5 dystrybuowany jest z wrappem sqlite w bibliotece standardowej, więc nie wymaga dodatkowych zabiegów instalacyjnych.

Korzystanie z Oracle wymaga użycia cx_Oracle w wersji 4.3.1 lub wyższej.

Korzystanie z polecenia manage.py syncdb do dokonywnaia automatyzacji procesu organizacji tabel w bazie danych wymaga weryfikacji uprawnień.

Djano musi posiadać uprawnienia do tworzenia a także modyfikacji tabel w wykorzystywanej bazie danych, więc trzeba sprawdzić czy są nadane.

W przypadku tworzenia tabel ręcznie należy nadać Django uprawnienia (SELECT, INSERT, DELETE, UPDATE).

Czasami (niektóre bazy danych) uprawienia do ALERT i TABLE niezbędne są w czasie wykonywania syncdb.

Wszelkie stare wersje Django powinny być usunięte. Nawet gdy Django ma być aktualizowane trzeba najpierw wykasować wcześniejszą jego wersję. W przypadku wcześniejszej instalacji za pomocą setup.py install wystarczy usunąć katalog django z site-packages, zaś jeśli Django było instalowane z pythonowego pakietu egg, należy wykasować z Django plik .eeg, jak również odniesienia do niego z pliku easy-install.pth. Plik o którym mowa powinien się znajdować także w katalogu site-packages.

Położenie katalogu w którym został zainstalowany Python wpływa na umiejscowienie katalogu site-packages. To gdzie zostanie ulokowany katalog site-packages zależy również od systemu operacyjnego, którym się posługujesz.

By odszukać site-packages użyj komendy:

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

Krok trzeci – instalacja kodu Django

Tutaj należy podkreślić fakt, że mogą zachodzić różnice z uwagi na to z jakiego źródła będzie korzystał użytkownik. Trochę inna instrukcja będzie dotyczyć instalacji ostatniej wersji rozwojowej Django, inna będzie instalacja przy pobraniu ostatniego oficjalnego wydania, a jeszcze inna, gdy korzysta się z paczek dla konkretnych dystrybucji.

Instalacja z paczek

Warto najpierw sprawdzić czy Twoja dystrybucja/platforma nie zapewnia oficjalnych instalatorów/paczek Django. Takie paczki w większości przypadków pozwalają na automatyczną instalację i aktualizację ścieżek.

Instalacja wydania oficjalnego

  1. Pobranie ostatniej wersji
  2. Rozpakowanie archiwum
  3. Zmiana katalogu
  4. Wprowadzenie w linie poleceń (w przypadku systemów uniksopodobnych – Linux, Mac OS X itp.) lub uruchomienie powłoki poleceń z uprawnieniami administratora i wykonanie polecenia (w przypadku Windowsa)

Instalacja wersji rozwojowej

Instalacja wersji rozwojowej daje możliwość uaktualniania kodu Django, gdy bugi zostają zmienione.

  1. Sprawdź czy posiadasz Subversion i czy jesteś w stanie działać na niej ze środowiska powłoki.
  2. Wykorzystaj svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk do pobrania głównego toru rozwojowego Django
  3. Ważne, by interpreter Pythona był w stanie ładować kod Django. W systemach uniksopodobnych (Linux, Mac OS X) używa się w tym celu linków symbolicznych, tj.: ln -s `pwd`/django-trunk/django SITE-PACKAGES-DIR/django

SITE-PACKAGES-DIR musi pasować do usytuowania katalogu site-packages jaka istnieje w systemie użytkownika. Jeśli chodzi o osoby korzystające z Windowsa bardzo dobrym krokiem jest zdefiniowanie własnej zmiennej systemowej PYTHONPAD w ten sposób, by obejmowała katalog django-trunk (definiowanie w panelu sterowania).

Gdy samodzielnie ustawiana jest zmienna PYTHONPAD w ten sposób, należy identyczną zmianę wprowadzić w konfiguracji Apache przy wdrożeniu w środowisku produkcyjnym. Należy ustawić PythonPad w pliku konfiguracyjnym Apache.

4. Kolejna kwestia to konieczność utworzenia linku symbolicznego (dotyczy systemów uniksopodobnych) do pliku

django-trunk/django/bin/django-admin.py w katalogu posiadanej ścieżki systemowej, czyli

/usr/local/bin dzięki czemu z poziomu każdego katalogu będzie można wpisywać

django-admin.py i tym samym uniknąć wpisywania polecenia z pełną ścieżką do pliku

Przykładowo:

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

Kopiowanie pliku django-trunk/django/bin/django-admin.py w ścieżce systemowej C:\Python24\Scripts lub w innym miejscu takiej ścieżki zapewnia identyczne efekty użytkownikom systemu Windows.

Uaktualnianie własnej kopii kodu źródłowego Django polega na użyciu polecenia

svn update z wnętrza katalogu django-trunk. Subversion samodzielnie pobierze wszelkie zmiany.