Главная | Все статьи | Код

Размещение Python приложений в облаке с PythonAnywhere: руководство для начинающих

Python Время чтения статьи ~4 минуты
Размещение Python приложений в облаке с PythonAnywhere: руководство для начин... главное изображение

Облачные сервисы значительно упрощают жизнь разработчиков — теперь свою среду разработки можно всегда иметь под рукой. Благодаря таким сервисам, как PythonAnywhere, вы можете программировать на Python онлайн с помощью любого устройства.

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

Что такое PythonAnywhere

PythonAnywhere — это среда для разработки на Python в браузере с хостингом. Теперь для работы вам нужны только доступ в интернет и браузер. Сервис подходит для работы на Mac, Windows и Linux.

Для приложений с маленьким трафиком посетителей будет достаточно бесплатного пакета PythonAnywhere — вы получите серверы с необходимыми настройками, набором предустановленных библиотек, включая NumPy, BeautifulSoup, SciPy, Mechanize, pycrypto и др. Кроме того, в сервис уже встроены различные WSGI веб-фреймворки и базы данных MySQL и SQLite. С полным списком добавленных модулей можно ознакомиться здесь.

Если этого недостаточно, то среда предоставляет возможность интегрировать иные полезные плагины и расширения. Например, сервис можно интегрировать с DropBox. При помощи командной строки вы легко сможете работать с проектами на GitHub или любом другом репозитории — среда дает возможность синхронизировать код и собственные данные.

Плюсы и минусы PythonAnywhere

Сервис подходит для разработки несложных приложений и обучения, что определяет его некоторую специфику:

  • Для анализа данных предоставляется интерактивная среда Jupyter.
  • Управлять аккаунтами и переходить между ними можно без переключения браузеров.
  • Собственные скрипты можно загружать во Free Tier в качестве полноценных приложений.
  • PythonAnywhere использует серверы Amazon (EC2), поэтому работать над несложными приложениями можно бесплатно, а более трудоемкие задачи обойдутся вам по стоимости использованных ресурсов.
  • Среда имеет ограничения по количеству потоков для скриптов, поэтому разместить серьезное приложение не получится.
  • Бесплатные аккаунты могут делать исходящие соединения только по сайтам из белого списка.

Попробуйте себя в Python

Начать с 5 бесплатных уроков

Как развернуть проект в PythonAnywhere

Регистрация

Для запуска несложного приложения будет достаточно бесплатного аккаунта уровня Beginner.

Создайте API токен

После регистрации на PythonAnywhere перед вами откроется панель управления. В правом верхнем углу вы найдете раздел Account.

В этом разделе выберите вкладку API token и нажмите на кнопку Create new API token. Создавать токен нужно только один раз — после регистрации.

Настройте сайт на PythonAnywhere

На главной странице нажмите на кнопку Bash для запуска Bash-консоли — командной строки на серверах PythonAnywhere.

Для загрузки кода и публикации сайта на PythonAnywhere мы воспользуемся сторонним сервисом Github, а затем настроим среду так, чтобы она распознала код и запустила веб-приложение.

Установите Git

Этот сервис отслеживает изменения файлов и позволяет восстановить статус кода на любой момент времени. Загрузить необходимую версию программы можно с официального сайта https://git-scm.com/.

Создайте Git-репозиторий

Откройте консоль и запустите следующие команды в папке myproject:

Некоторые изменения файлов не нужно отслеживать. Для этого в корневом каталоге репозитория создайте файл .gitignore со следующим содержанием:

Сохраните изменения с помощью команды:

Загрузите код в репозиторий GitHub

  • Создайте бесплатный аккаунт на GitHub.com.
  • Создайте репозиторий и назовите его my-first-blog.
  • Откажитесь от опции Initialize with a README" и файла .gitignore, оставьте лицензию None.

  • Выберите вариант HTTPS для клонирования репозитория и скопируйте ссылку:

  • Свяжите локальный репозиторий с репозиторием на GitHub с помощью команды:

  • Замените <your-github-username> на имя вашего аккаунта на GitHub без угловых скобок.
  • Введите имя пользователя и пароль от аккаунта GitHub. Если вы увидите что-то подобное, значит, ваш код теперь размещен на GitHub.

Установите pythonanywhere

Она загрузит код с Github на PythonAnywhere и настроит среду для распознания кода и запуска веб-приложения.

$ pip3.6 install --user pythonanywhere

Эта утилита скачает код с GitHub и создаст такое же виртуальное окружение на PythonAnywhere, которое вы используете на вашем компьютере. Она обновит файл с настройками деплоя и создаст базу данных на PythonAnywhere, а еще разберется со статическими файлами и настроит среду так, чтобы ваше приложение было доступно в интернете.

Рекомендуем попробовать

5 бесплатных уроков Python

База данных на PythonAnywhere потребует создать аккаунт администратора. Это можно сделать с помощью следующей команды:

(ola.pythonanywhere.com) $ python manage.py createsuperuser

Проверить файлы на PythonAnywhere можно с помощью такой команды:

Во вкладке Web на PythonAnywhere вы найдете ссылку на ваше приложение.

В рамках курса «Python-разработчик» вы на практике освоите PythonAnywhere и другие современные программы для развертывания и запуска сайтов и веб-приложений.

Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября