- Django Getting started with Django Virtual Environment
- Python 3.3+
- Python 2
- Activate (any version)
- Alternatively: use virtualenvwrapper
- Alternatively: use pyenv + pyenv-viritualenv
- Set your Project Path
- Установка Django
- Виртуальное окружение
- Работаем с virtualenv
- Установка Django
- Установка библиотек через указание требований
Django Getting started with Django Virtual Environment
Although not strictly required, it is highly recommended to start your project in a «virtual environment.» A virtual environment is a container (a directory) that holds a specific version of Python and a set of modules (dependencies), and which does not interfere with the operating system’s native Python or other projects on the same computer.
By setting up a different virtual environment for each project you work on, various Django projects can run on different versions of Python, and can maintain their own sets of dependencies, without risk of conflict.
Python 3.3+
Python 3.3+ already includes a standard venv module, which you can usually call as pyvenv . In environments where the pyvenv command is not available, you can access the same functionality by directly invoking the module as python3 -m venv .
To create the Virtual environment:
$ pyvenv # Or, if pyvenv is not available $ python3 -m venv
Python 2
If using Python 2, you can first install it as a separate module from pip:
And then create the environment using the virtualenv command instead:
Activate (any version)
The virtual environment is now set up. In order to use it, it must be activated in the terminal you want to use it.
To ‘activate’ the virtual environment (any Python version)
This changes your prompt to indicate the virtual environment is active. () $
From now on, everything installed using pip will be installed to your virtual env folder, not system-wide.
To leave the virtual environment use deactivate :
Alternatively: use virtualenvwrapper
You may also consider using virtualenvwrapper which makes virtualenv creation and activation very handy as well as separating it from your code:
# Create a virtualenv mkvirtualenv my_virtualenv # Activate a virtualenv workon my_virtualenv # Deactivate the current virtualenv deactivate
Alternatively: use pyenv + pyenv-viritualenv
In environments where you need to handle multiple Python versions you can benefit from virtualenv together with pyenv-virtualenv:
# Create a virtualenv for specific Python version pyenv virtualenv 2.7.10 my-virtual-env-2.7.10 # Create a vritualenv for active python verion pyenv virtualenv venv34 # Activate, deactivate virtualenv pyenv activate pyenv deactivate
When using virtualenvs, it is often useful to set your PYTHONPATH and DJANGO_SETTINGS_MODULE in the postactivate script.
#!/bin/sh # This hook is sourced after this virtualenv is activated # Set PYTHONPATH to isolate the virtualenv so that only modules installed # in the virtualenv are available export PYTHONPATH="/home/me/path/to/your/project_root:$VIRTUAL_ENV/lib/python3.4" # Set DJANGO_SETTINGS_MODULE if you don't use the default `myproject.settings` # or if you use `django-admin` rather than `manage.py` export DJANGO_SETTINGS_MODULE="myproject.settings.dev"
Set your Project Path
It is often also helpful to set your project path inside a special .project file located in your base . When doing this, everytime you activate your virtual environment, it will change the active directory to the specified path.
Create a new file called /.project . The contents of the file should ONLY be the path of the project directory.
Now, initiate your virtual environment (either using source /bin/activate or workon my_virtualenv ) and your terminal will change directories to /path/to/project/directory .
PDF — Download Django for free
Установка Django
Примечание: если ты используешь Chromebook, пропусти эту главу, но выполни инструкции по настройке для Chromebook
Примечание: если ты уже выполнила установку — можешь пропустить эту часть и сразу перейти к следующей главе!
Отдельные части этой главы основаны на учебных пособиях Geek Girls Carrots (https://github.com/ggcarrots/django-carrots).
Отдельные части этой главы основаны на учебном пособии django-marcador, лицензированном под Creative Commons Attribution-ShareAlike 4.0 International License. Руководство django-marcador защищено авторским правом Markus Zapke-Gründemann et al.
Виртуальное окружение
Перед установкой Django мы попросим тебя установить крайне полезный инструмент, который поможет тебе содержать среду разработки в чистоте. Можно пропустить этот шаг, но мы очень советуем этого не делать. Использование лучших рекомендаций с самого начала убережёт от многих проблем в будущем!
Итак, давай создадим виртуальное окружение (оно также называется virtualenv). Virtualenv будет изолировать настройки Python/Django для каждого отдельного проекта. Это значит, что изменения одного сайта не затронут другие сайты, которые ты разрабатываешь. Удобно, правда?
Всё, что тебе нужно сделать — найти директорию, в которой мы создадим virtualenv ; домашний каталог вполне подойдёт. Для Windows адрес будет выглядеть так: C:\Users\Name (где Name — твоё имя пользователя).
Примечание: Если ты работаешь в Windows, удостоверься, что в названии директории нет специальных символов или символов с диакритическими знаками; если в твоём имени пользователя есть такие символы, выбери другую директорию, например, C:\djangogirls .
Мы будем использовать отдельную директорию djangogirls в домашнем каталоге:
$ mkdir djangogirls $ cd djangogirls
Мы создадим виртуальное окружение под именем myvenv . В общем случае команда будет выглядеть так:
Чтобы создать новое virtualenv , тебе нужно открыть командную строку и набрать python -m venv myvenv . Это будет выглядеть так:
C:\Users\Name\djangogirls> python -m venv myvenv
Здесь myvenv — имя твоего virtualenv . Ты можешь выбрать другое имя, но используй только строчные буквы, без пробелов и специальных символов. Имя виртуального окружения выбирай покороче — тебе придётся часто его набирать!
В Linux и OS X достаточно набрать python3 -m venv myvenv , чтобы создать virtualenv :
myvenv — имя виртуального окружения virtualenv . Можешь выбрать другое имя, но используй только строчные буквы и никаких пробелов. Имя виртуального окружения лучше выбирать покороче — набирать его предстоит не раз!
Примечание: В некоторых версиях Debian/Ubuntu может произойти следующая ошибка:
command-line
The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt install python3-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment.
В таком случае следуй приведённым инструкциям и установи пакет python3-venv :
command-line
$ sudo apt install python3-venv
Примечание: В некоторых версиях Debian/Ubuntu при таком способе создания виртуального окружения ты можешь получить такую ошибку:
command-line
Error: Command '['/home/eddie/Slask/tmp/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
Чтобы обойти её, используй команду virtualenv .
command-line
$ sudo apt install python-virtualenv $ virtualenv --python=python3.6 myvenv
Примечание: Если ты получаешь следующую ошибку
command-line
E: Unable to locate package python3-venv
то запусти команду:
command-line
sudo apt install python3.6-venv
Работаем с virtualenv
Указанная выше команда создаст директорию myvenv (или другую, в зависимости от выбранного тобой имени), которая будет содержать виртуальное окружение (по сути — набор файлов и папок).
Запусти виртуальное окружение, выполнив:
C:\Users\Name\djangogirls> myvenv\Scripts\activate
ПРИМЕЧАНИЕ: в Windows 10 при работе в Windows PowerShell ты можешь получить ошибку вида execution of scripts is disabled on this system . В этом случае открой ещё одно окно Windows PowerShell, выбрав опцию «Запустить от имени Администратора». Затем перед использованием виртуального окружения попробуй запустить следующую команду:
command-line
C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Execution Policy Change The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): A
Запусти виртуальное окружение, выполнив:
Не забудь поменять myvenv на выбранное тобой имя для virtualenv !
ПРИМЕЧАНИЕ: иногда команда source может быть недоступна. В таком случае используй следующий метод:
command-line
Ты поймёшь, что virtualenv запущено, когда увидишь префикс (myvenv) в начале приглашения командной строки.
При работе с виртуальным окружением команда python будет автоматически обращаться к правильной версии языка, так что ты можешь использовать просто python вместо python3 .
Отлично, теперь мы будем хранить все важные зависимости в одном месте. Наконец можно установить Django!
Установка Django
После запуска virtualenv ты можешь установить Django.
Перед этим мы должны удостовериться, что у тебя установлена последняя версия pip — программы, которую мы используем для установки Django.
(myvenv) ~$ python3 -m pip install --upgrade pip
Установка библиотек через указание требований
Файл с требованиями (requirements) хранит список зависимостей, которые нужно установить с помощью pip install :
Для начала создай файл requirements.txt внутри директории djangogirls/ , используя текстовый редактор, который ты установила ранее. Просто создай в редакторе новый файл, а затем сохрани его под именем requirements.txt в директории djangogirls/ . После этого твоя директория будет выглядеть так:
djangogirls └───requirements.txt
В файл djangogirls/requirements.txt нужно добавить такой текст:
Теперь выполни команду pip install -r requirements.txt , чтобы установить Django.
(myvenv) ~$ pip install -r requirements.txt Collecting Django~=3.2.10 (from -r requirements.txt (line 1)) Downloading Django-3.2.10-py3-none-any.whl (7.1MB) Installing collected packages: Django Successfully installed Django-3.2.10
Если при запуске pip в Windows ты получаешь сообщение об ошибке, проверь, что путь к директории с проектом не содержит пробелов или специальных символов ( C:\Users\User Name\djangogirls ). Если проблема в этом, то, пожалуйста, перенеси свой проект в другое место, адрес которого не будет содержать пробелов и специальных символов (предлагаем C:\djangogirls ). Создай новое виртуальное окружение в новой директории, после этого удали старое и попробуй запустить команды выше заново (перемещение виртуального окружения не сработает, поскольку в нём используются абсолютные пути).
При попытке установки Django твоя командная строка может зависнуть. Если это произошло, вместо приведённой выше команды используй:
command-line
C:\Users\Name\djangogirls> python -m pip install -r requirements.txt
При возникновении ошибки при вызове pip под Ubuntu 12.04, пожалуйста, запусти `python -m pip install -U —force-reinstall pip`, чтобы исправить установку pip в virtualenv.
Вот и всё! Теперь ты (наконец-то) готова создать своё Django-приложение!