Последняя версия долгосрочной поддержки Ubuntu Linux (LTS) версия операционной системы 18.04 и был выпущен в апреле 2018 года. Обновление 18.04 носит кодовое название “Bionic Beaver” и включает Python 3 по умолчанию. Однако есть множество зависимости, которые вам нужно будет установить, чтобы настроить этот выпуск как среда разработки.
В этом руководстве мы настроим Python 3.6 с системой разработки. пакеты для запуска нового проекта веб-приложения Flask и запустите его с помощью Зеленого Единорога (Gunicorn).
Наши инструменты
Наш проект будет использовать выпуск Ubuntu 18.04 вместе с несколькими другими библиотеки. Обратите внимание: если вы используете старую версию 16.04 LTS, там это также руководство, которое проведет вас через настройку этой версии в качестве среды разработки.
Мы установим следующие инструменты по мере прохождения остальной части разделы в этом руководстве:
- Ubuntu 18.04 LTS (Bionic Beaver)
- Версия Python
- 3.6.5
- (по умолчанию в Ubuntu 18.04)
- Версия веб-фреймворка Flask
- 1.0.2
- Версия Зеленого Единорога (Gunicorn)
- 19.8.1
Если вы работаете в Mac OS X или Windows, используйте программное обеспечение для виртуализации, например как Parallels или VirtualBox с Файл .iso Ubuntu . Либо amd64, либо Версия i386 для 18.04 будет работать. Я использую amd64 для разработки и тестирования в этом руководстве.
Когда вы загружаетесь на рабочий стол Ubuntu, вы должны увидеть такой экран.
Мы готовы настроить нашу среду разработки.
Системные пакеты
Откройте окно терминала, чтобы продолжить настройку.
Используйте следующие две команды, чтобы проверить, какая версия Python 3 установлена.
python3 --version which python3
Версия Python должна быть 3.6.5, а расположение – /usr/bin/python3
.
Наша установка Ubuntu требует нескольких системных пакетов для разработки а не просто запускать сценарии Python. Выполните следующую команду apt-get
и введите свой пароль sudo
, чтобы разрешить ограниченный доступ к системе.
sudo apt-get install python3-dev python3-pip python3-virtualenv
Мы должны увидеть следующее приглашение с запросом доступа sudo
. Введите y
, чтобы позвольте системному менеджеру пакетов завершить установку.
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: linux-headers-4.15.0-20 linux-headers-4.15.0-20-generic linux-image-4.15.0-20-generic linux-modules-4.15.0-20-generic linux-modules-extra-4.15.0-20-generic Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: dh-python libexpat1-dev libpython3-dev libpython3.6-dev python3-setuptools python3-wheel python3.6-dev Suggested packages: python-setuptools-doc The following NEW packages will be installed: dh-python libexpat1-dev libpython3-dev libpython3.6-dev python3-dev python3-pip python3-setuptools python3-virtualenv python3-wheel python3.6-dev 0 upgraded, 10 newly installed, 0 to remove and 11 not upgraded. Need to get 3,617 kB/3,661 kB of archives. After this operation, 20.2 MB of additional disk space will be used. Do you want to continue? [Y/n]
Менеджер пакетов сделает всю грязную работу и должен сообщать, когда установка успешно завершена.
(...clipped a bunch of installation lines for brevity...) Unpacking python3-wheel (0.30.0-0.2) ... Setting up python3-wheel (0.30.0-0.2) ... Setting up python3-virtualenv (15.1.0+ds-1.1) ... Setting up python3-pip (9.0.1-2.3~ubuntu1) ... Setting up libexpat1-dev:amd64 (2.2.5-3) ... Processing triggers for man-db (2.8.3-2) ... Setting up python3-setuptools (39.0.1-2) ... Setting up dh-python (3.20180325ubuntu2) ... Setting up libpython3.6-dev:amd64 (3.6.5-3) ... Setting up python3.6-dev (3.6.5-3) ... Setting up libpython3-dev:amd64 (3.6.5-3) ... Setting up python3-dev (3.6.5-3) ...
Необходимые нам пакеты теперь установлены. Мы можем продолжить установку нашего Зависимости, специфичные для Python.
Виртуальная среда
Мы установили virtualenv и pip для обработки наших зависимости приложений. Теперь мы можем использовать их для загрузки и установки Flask и Gunicorn.
Создайте каталог для хранения ваших виртуальных файлов. Затем создайте новый virtualenv в этом каталоге.
# make sure pip and setuptools are the latest version pip3 install --upgrade pip setuptools # the tilde ("~") specifies the user's home directory, such as "/home/matt" cd ~ mkdir venvs # specify the system python3 installation python3 -m venv venvs/flask1804
Активируйте virtualenv.
source ~/venvs/flask1804/bin/activate
Наш запрос изменится, когда будет активирован virutalenv.
Теперь наш virtualenv активирован с Python 3. Мы можем установить любой необходимые нам зависимости, такие как Flask и Gunicorn.
Настой и Gunicorn
Мы собираемся использовать pip
в нашем новом virtualenv, но это хороший идея обновить его до последней версии. Мы также должны установить Пакет wheel
для удаления предупреждений об установке, когда pip
пытается используйте колеса Python , которые являются новейшими стандарт в довольно длинной строке дистрибутива Python модели.
pip install --upgrade pip pip install wheel
Теперь мы можем установить Flask и Green Unicorn с помощью команды pip
.
pip install flask gunicorn
Найдите вывод, аналогичный следующему, чтобы убедиться, что библиотеки установлены без проблем.
(flask1804) [email protected]:~$ pip install flask gunicorn Collecting flask Using cached https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl Collecting gunicorn Using cached https://files.pythonhosted.org/packages/55/cb/09fe80bddf30be86abfc06ccb1154f97d6c64bb87111de066a5fc9ccb937/gunicorn-19.8.1-py2.py3-none-any.whl Collecting click>=5.1 (from flask) Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl Collecting Werkzeug>=0.14 (from flask) Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl Collecting itsdangerous>=0.24 (from flask) Using cached https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz Collecting Jinja2>=2.10 (from flask) Using cached https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask) Using cached https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz Building wheels for collected packages: itsdangerous, MarkupSafe Running setup.py bdist_wheel for itsdangerous ... done Stored in directory: /home/matt/.cache/pip/wheels/2c/4a/61/5599631c1554768c6290b08c02c72d7317910374ca602ff1e5 Running setup.py bdist_wheel for MarkupSafe ... done Stored in directory: /home/matt/.cache/pip/wheels/33/56/20/ebe49a5c612fffe1c5a632146b16596f9e64676768661e4e46 Successfully built itsdangerous MarkupSafe Installing collected packages: click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask, gunicorn Successfully installed Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 flask-1.0.2 gunicorn-19.8.1 itsdangerous-0.24
Создайте новый каталог с именем flask1804
в своем домашнем каталоге (не в подкаталоге venvs
), в котором будет храниться наш тестовый проект Flask. Измените каталог в новую папку.
mkdir ~/flask1804 cd ~/flask1804
Создайте новый файл с именем __init__.py
в нашем каталоге flaskproj
, чтобы мы можем протестировать, чтобы убедиться, что Flask работает правильно. Я обычно использую Vim, но Emacs и другие среды разработки отлично работают как хорошо.
В __init__.py
напишите следующий код.
from flask import Flask, Response app = Flask(__name__) @app.route("/") def index(): return Response("It works!"), 200 if __name__ == "__main__": app.run(debug=True)
Мы могли бы запустить наше приложение с сервером разработки Flask, используя python __init__.py
команда. Вместо этого запустите приложение Flask с Gunicorn. Перейдите в каталог над папкой flask1804
в нашем если мы можем ввести cd ~
, а затем использовать команду gunicorn
:
gunicorn flask1804.app:app
Мы должны увидеть:
[2018-06-15 15:54:31 -0400] [5174] [INFO] Starting gunicorn 19.8.1 [2018-06-15 15:54:31 -0400] [5174] [INFO] Listening at: http://127.0.0.1:8000 (5174) [2018-06-15 15:54:31 -0400] [5174] [INFO] Using worker: sync [2018-06-15 15:54:31 -0400] [5177] [INFO] Booting worker with pid: 5177
Отлично, теперь мы можем вызвать наше приложение оболочки Flask в веб-браузере по адресу адрес localhost: 8000
или 127.0.0.1:8000
.
Теперь вы готовы к настоящей разработке Flask!
Готов к кодированию
Это обеспечивает быструю настройку для начала работы с 18.04 LTS. разработка приложений Flask с Сервер Gunicorn WSGI.
Далее вам следует ознакомиться со следующими руководствами, в которых используется этот Конфигурация колбы:
- Ответ на текстовые SMS-сообщения с помощью Python и Flask
- Как добавить размещенный мониторинг в веб-приложения Flask)
В качестве альтернативы вы также можете определить, что кодировать дальше в вашем Python проект, прочитав Страница полного содержания Python.
Вопросов? Свяжитесь со мной через Twitter @fullstackpython или @mattmakai . Я также на GitHub с имя пользователя mattmakai .
Что-то не так с этим сообщением? Вилка исходный код этой страницы на GitHub и отправьте запрос на перенос.