Записи в INSTALLED_APPS
являются обозначениями упаковки. Пакеты - это способ структурирования пространства имен модуля Python.
При импорте пакета Python просматривает каталоги в sys.path
в поисках подкаталога пакета.
Итак, в python есть несколько мест для поиска пакетов.
Чтобы установить пакеты по именам в нужное место в вашей системе, вы можете загрузить некоторый исходный код на python и запустить скрипт setup.py
(обычно предоставляемый библиотеками и приложениями).
$ cd /tmp
$ wget http://pypi.python.org/packages/source/p/pytz/pytz-2011n.tar.bz2
$ tar xvfj pytz-2011n.tar.bz2
$ cd pytz-2011n
$ python setup.py install
Тем не менее, существуют сокращения, а именно easy_install и его преемник pip . С помощью этих инструментов установка стороннего пакета (или приложения django) сводится к следующему:
$ pip install pytz
Или, если вы используете системную установку Python по умолчанию:
$ sudo pip install pytz
Вот и все. Теперь вы можете использовать эту библиотеку, где хотите. Чтобы проверить, правильно ли он установлен, попробуйте в консоли:
$ python
Python 2.7.2 (default, Aug 20 2011, 05:03:24)
...
>>> import pytz # you would get an ImportError, if pytz could not be found
>>> pytz.__version__
'2011n'
Теперь для краткости (этот пост уже давно), давайте предположим, что pytz был каким-то сторонним приложением django. Вы бы просто написали:
INSTALLED_APPS = (
'pytz',
)
И pytz будет доступен в вашем проекте.
Примечание: если у вас есть время, посмотрите на Инструменты современного Python Hacker: Virtualenv, Fabric and Pip В блоге, в котором освещаются некоторые отличные инструменты инфраструктуры Python.