Instalace
Instalace Django
Obsah stránky (hide)
1. Základní prostředí
Asi tu nepopíšu všechno, ale spíš, kde jsem zaškobrtnul.
1.1 Virtuální prostředí - virtualenvwrapper
Týká se Pythonu obecně, ne jen Djanga.
Python od verze 3.3 má vestavěnou podporu pro vytváření virtuálních prostředí, takže tohle už asi nebude potřeba.
1. V systému si nainstalujeme balíček python-pip
# aptitude install python-pip
2. Nainstalujeme virtuální protředí - už přes pip.
# pip install virtualenvwrapper
Pozor: Jako root!
Nainstaluje i balíčky na kterých závisí (mj. virtualenv).
Pozor: Virtuální prostředí je adresář se samostatnou instalací Pythonu a pythonovských modlů z pypi.python.org. Neslouží k ukládání našeho projektu. A naopak - virtuální prostředí nemá být podadresářem v našem projektu. Jsou to dva relativně oddělené světy. Virtuální prostředí v repozitáři je prasárna.
2a. Čteme dokumentaci na http://virtualenvwrapper.readthedocs.org/en/latest/
Komu se nechce, zestručním to tady:
2b. Do ~/.bashrc přidáme řádky:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Devel source /usr/local/bin/virtualenvwrapper.sh
První řádek říká, jakou verzi Pythonu chceme používat jako výchozí. Při vytváření konkrétního prostředí to můžeme změnit parametrem -p.
Druhý řádek nastavuje, kde budeme mít naše virtuální prostředí umístěná.
Třetí řádek nastavuje domovský adresář pro projekty.
Čtvrtý nastaví prostředí v shellu.
2c. Naučíme se příkazy pro virtualenvwrapper
Tento příkaz umožňuje používat i parametry příkazu virtualenv
. Například -p pro zadání cesty k Pythonu, který chceme použít ve virtuálním prostředí (liší-li se od výchozího viz 2b).
mkvirtualenv jméno
- Vytvoří virtuální prostředí daného jména a přepne nás do něj. Volitelně můžeme zadat parametr -p s cestou k jinému Pythonu, než jaký je v systému výchozí.
deactivate
- Odpojí nás z virtuálního protředí zpět do normálního shellu.
rmvirtualenv jméno
- Odstraní virtuální prostředí (z WORKON_HOME).
workon [jméno]
- Přepne nás do virtuálního prostředí. Bez zadání jména vypíše seznam jmen existujících prostředí. Nejpoužívanější příkaz.
mkproject jméno
- Vytvoří virtuální prostředí v WORKON_HOME a ještě adresář v PROJECT_HOME.
Dále budu před prompt psát "(virtenv)" - což je jako jméno prostředí do nějž jsme se přepnuli příkazem workon - když budu chtít zdůraznit, že se to děje ve virtuální prostředí a ne v základním systému.
Upgrade Pythonu v systému - nespustí se virtuál
Po upgrade Pythonu v základním systému se stává, že nejde aktivovat virtuální prostředí, nebo jde-li, už v něm nic nespustíme a naše snaha skončí nějakou chybou z oblasti "nejde načíst modul blablabla".
Je třeba upgradovat python v našem virtuálním prostředí takto:
$ virtualenv jmeno_virtual_prostredi
Nebo komplexněji:
$ virtualenv -p /usr/bin/python2.7 /var/www/django/venvs/jmeno_virtual_prostredi
chceme-li zadat konkrétní verzi Pythonu a naše virtuální prostředí neleží v $HOME/.virtualenvs/
1.2 Pip - který?
V každém virtuálním prostředí je nainstalován příkaz pip jehož pomocí přidáváme balíčky z pypi. Dbáme na to, abychom byli ve virtuálním prostředí, jinak si balíček nechtěně přidáme do základního systému.
Pip v základním systému nám pomohl nainstalovat virtualenvwrapper.
Pip ve virtuálních prostředích přidává balíčky pythonu pro dané prostředí.
V základním systému můžeme občas zaktualizovat virtualenvwrapper:
# pip install -U virtualenvwrapper
Příkazy pip:
- help
- Co to asi dělá..? ;)
- help příkaz
- Nápověda ke konkrétnímu příkazu.
- install balicek
- Nainstaluje balíček.
- search co
- Prohledá archiv pypi a nejde vše, co se týká "co".
- list
- Vypíše seznam nainstalovaných balíčků (v základním systému vypíše všechny balíčky pythonu, nejen ty přidané pip-em). Není u starších verzí pip-u.
- freeze
- Jako list, ale ve formátu pro requirements.
Výstup příkaz freeze si můžeme uložit do souboru requirements.txt, který se dává do kořenového adresáře našeho projektu (vcs root), aby bylo jasné, na jakých balíčcích náš projekt závisí. Příkazem
(virtenv) $ pip install -r requirements.txt
pak jednoduše naistalujeme, co potřebujeme - i se správnými verzemi.
1.3 Django
(virtenv) $ pip install django
Můžeme (jako vždy u pip-u) zadat i číslo konkrétní verze balíčku:
(virtenv) $ pip install django==1.6.3
1.4 PostgreSQL - psycopg2
Vyžaduje mít v systému naistalované balíčky:
- pgsql-dev
- python-dev
(virtenv) $ pip install psycopg2
1.5 Další užitené balíčky
- django-extensions
- Rozšíří možnosti příkazu manage.py.
2. Django projekt
Django má skvělou dokumentaci, tak jen stručně, co by se dalo přehlédnout.
(virtenv) $ django-admin.py startproject jméno
Tento příkaz známe jak své boty. Začátečníkovi může uniknout možnost použít vlastní šablonu pro vytvoření projektu namísto té vestavěné. Nebo nějakou "světoznámou": https://www.djangopackages.com/grids/g/project-templates/