Облачные сервисы значительно упрощают жизнь разработчиков — теперь свою среду разработки можно всегда иметь под рукой. Благодаря таким сервисам, как PythonAnywhere, вы можете программировать на Python онлайн с помощью любого устройства.
Что такое PythonAnywhere
PythonAnywhere — это среда для разработки на Python в браузере с хостингом. Теперь для работы вам нужны только доступ в интернет и браузер. Сервис подходит для работы на Mac, Windows и Linux.
Для приложений с маленьким трафиком посетителей будет достаточно бесплатного пакета PythonAnywhere — вы получите серверы с необходимыми настройками, набором предустановленных библиотек, включая NumPy, BeautifulSoup, SciPy, Mechanize, pycrypto и др. Кроме того, в сервис уже встроены различные WSGI веб-фреймворки и базы данных MySQL и SQLite. С полным списком добавленных модулей можно ознакомиться здесь.
Если этого недостаточно, то среда предоставляет возможность интегрировать иные полезные плагины и расширения. Например, сервис можно интегрировать с DropBox. При помощи командной строки вы легко сможете работать с проектами на GitHub или любом другом репозитории — среда дает возможность синхронизировать код и собственные данные.
Плюсы и минусы PythonAnywhere
Сервис подходит для разработки несложных приложений и обучения, что определяет его некоторую специфику:
- Для анализа данных предоставляется интерактивная среда Jupyter.
- Управлять аккаунтами и переходить между ними можно без переключения браузеров.
- Собственные скрипты можно загружать во Free Tier в качестве полноценных приложений.
- PythonAnywhere использует серверы Amazon (EC2), поэтому работать над несложными приложениями можно бесплатно, а более трудоемкие задачи обойдутся вам по стоимости использованных ресурсов.
- Среда имеет ограничения по количеству потоков для скриптов, поэтому разместить серьезное приложение не получится.
- Бесплатные аккаунты могут делать исходящие соединения только по сайтам из белого списка.
Как развернуть проект в 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, а еще разберется со статическими файлами и настроит среду так, чтобы ваше приложение было доступно в интернете.
База данных на PythonAnywhere потребует создать аккаунт администратора. Это можно сделать с помощью следующей команды:
(ola.pythonanywhere.com) $ python manage.py createsuperuser
Проверить файлы на PythonAnywhere можно с помощью такой команды:
Во вкладке Web на PythonAnywhere вы найдете ссылку на ваше приложение.
В рамках курса «Python-разработчик» вы на практике освоите PythonAnywhere и другие современные программы для развертывания и запуска сайтов и веб-приложений.