Возможно, вам придется использовать слегка измененную версию этой команды. (Если вы еще не использовали pip, обратитесь к разделу «Установка пакетов Python с использованием pip» на с. 227.)
Примечание
Если вы используете Linux, но и этот способ не сработал, установите virtualenv при помощи менеджера пакетов своей системы. Например, в Ubuntu для установки virtualenv используется команда sudo apt-get install python-virtualenv.
Перейдите в каталог learning_log в терминальном окне и создайте виртуальную среду следующей командой:
learning_log$ virtualenv ll_env
New python executable in ll_env/bin/python
Installing setuptools, pip...done.
learning_log$
Примечание
Если в вашей системе установлено несколько версий Python, укажите версию, которая должна использоваться virtualenv. Например, команда virtualenv ll_env --python=python3 создаст виртуальную среду, которая использует Python 3.
Активизация виртуальной среды
После того как виртуальная среда будет создана, ее необходимо активизировать следующей командой:
learning_log$ source ll_env/bin/activate
(1) (ll_env)learning_log$
Команда запускает сценарий activate из каталога ll_env/bin. Когда среда активизируется, ее имя выводится в круглых скобках (1) ; теперь вы можете устанавливать пакеты в среде и использовать те пакеты, что были установлены ранее. Пакеты, установленные в ll_env, будут доступны только в то время, пока среда остается активной.
Примечание
Если вы работаете в системе Windows, используйте команду ll_env\Scripts\activate (без слова source) для активизации виртуальной среды.
Чтобы завершить использование виртуальной среды, введите команду deactivate:
(ll_env)learning_log$ deactivate
learning_log$
Среда также становится неактивной при закрытии терминального окна, в котором она работает.
Установка Django
После того как вы создали свою виртуальную среду и активизировали ее, установите Django:
(ll_env)learning_log$ pip install Django
Installing collected packages: Django
Successfully installed Django
Cleaning up...
(ll_env)learning_log$
Так как вы работаете в виртуальной среде, эта команда выглядит одинаково во всех системах. Использовать флаг --user не нужно, как и использовать более длинные команды вида python -m pip install имя_пакета.
Помните, что с Django можно работать только в то время, пока среда остается активной.
Создание проекта в Django
Не выходя из активной виртуальной среды (пока ll_env выводится в круглых скобках), введите следующие команды для создания нового проекта:
(1) (ll_env)learning_log$ django-admin.py startproject learning_log .
(2)(ll_env)learning_log$ ls
learning_log ll_env manage.py
(3)(ll_env)learning_log$ ls learning_log
__init__.py settings.py urls.py wsgi.py
Команда (1) приказывает Django создать новый проект с именем learning_log. Точка в конце команды создает новый проект со структурой каталогов, которая упрощает развертывание приложения на сервере после завершения разработки.
Примечание
Не забывайте про точку, иначе у вас могут возникнуть проблемы с конфигурацией при развертывании приложения. А если вы все же забыли, удалите созданные файлы и папки (кроме ll_env) и снова выполните команду.
Команда ls (dir в Windows) (2) показывает, что Django создает новый каталог с именем learning_log. Также создается файл manage.py — короткая программа, которая получает команды и передает их соответствующей части Django для выполнения. Мы используем эти команды для управления такими задачами, как работа с базами данных и запуск серверов.
В каталоге learning_log находятся четыре файла (3), важнейшими из которых являются файлы settings.py, urls.py и wsgi.py. Файл settings.py определяет то, как Django взаимодействует с вашей системой и управляет вашим проектом. Мы изменим некоторые из существующих настроек и добавим несколько новых настроек в ходе разработки проекта. Файл urls.py сообщает Django, какие страницы следует строить в ответ на запросы браузера. Файл wsgi.py помогает Django предоставлять созданные файлы (имя файла является сокращением от «Web Server Gateway Interface»).
Создание базы данных
Так как Django хранит бульшую часть информации, относящейся к проекту, в базе данных, необходимо создать базу данных, с которой Django сможет работать. Чтобы создать базу данных для проекта Learning Log, введите следующую команду (все еще не покидая активной среды):
(ll_env)learning_log$ python manage.py migrate
(1) Operations to perform:
Synchronize unmigrated apps: messages, staticfiles
Apply all migrations: contenttypes, sessions, auth, admin
...
Applying sessions.0001_initial... OK
(2)(ll_env)learning_log$ ls
db.sqlite3 learning_log ll_env manage.py