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

Размещение 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 и другие современные программы для развертывания и запуска сайтов и веб-приложений.

Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 21 ноября
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 21 ноября
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 21 ноября
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 21 ноября