Думали ли вы (в очередной раз подготавливая среду для Python) о том, как было бы здорово, если бы не приходилось настраивать с нуля рабочее окружение (да ещё и под разными операционными системами), а можно было бы сесть и просто начать писать? Я случайно открыл для себя pythonanywhere.com — сервис, позволяющий вести разработку на Python онлайн, прямо в браузере. Под катом — описание сервиса с картинками и видео.
У меня сейчас настроены несколько Windows и Linux компьютеров, синхронизирован исходный код через Dropbox и заведён microinstance на Amazon EC2. Всё это заняло уйму времени и не очень удобно — бывает идею хочется проверить «в поле», и рядом нет настроенной с любовью среды. Что же предлагает PythonAnywhere?
Прежде чем читать длинное описание, предлагаю посмотреть видео, кратко рассказывающее о сервисе:
Также можно ознакомиться с выступлением разработчика Harry Percival на PyCon UK 2011 (хорошее знание английского приветствуется, но и без него можно многое понять из презентации):
Deploy a Django web app to Python Anywhere [FREE]
В конце выступления Гарри не хватило времени и он вынужден был бегать по залу, чтобы у него не отобрали микрофон.
Программируем на Python в интернет
PythonAnywhere — это среда для разработки на Python непосредственно в браузере плюс хостинг для этих проектов. Если у вас есть браузер и доступ в интернет, то у вас есть всё, что нужно. Серверы уже настроены, на них имеется то что может понадобиться. Теперь легко взять с собой свою среду разработки — начните проект на рабочем компьютере, а потом продолжите с того места, где остановились, но уже на своём ноутбуке.
Владельцы айпадов торжествуют!
Теперь питоноводы могут писать приложения на iPad, с телефона или даже на «умном» телевизоре (smart TV) так же легко, как раньше делали это на своих компьютерах. PythonAnywhere работает на iPad и скоро будет готова версия для Android. Вы можете писать свои программы в веб-редакторе или запустить консольную сессию из-под любого современного браузера, поддерживающего HTML5. Уже не надо настраивать свой собственный сервер или платить за его настройку.
А что за кадром?
PythonAnywhere использует сервера Amazon (EC2), а мы можем использовать все преимущества этого подхода. Для быстрой разработки несложных приложений не понадобится платить ни копейки. А в случае мощных и ресурсоёмких задач — оплатим только использованные ресурсы.
Помимо того, имеется интеграция с DropBox, можно синхронизировать свои данные и код. При помощи командной строки легко работать с git, mercurial или subversion проектами на GitHub, Bitbucket и любом другом публичном репозитории.
Предлагаются версии Python 2.6, 2.7 и 3.2. Установлено очень много библиотек — NumPy, SciPy, Mechanize, BeautifulSoup, pycrypto и другие. Если этого набора недостаточно — имеются easy_install и pip, только используйте флаг —user, установка будет произведена в директорию .local в вашей домашней папке. Также добавлены virtualenv и virtualenvwrapper.
Деплой Telegram бота на Python | PythonAnywhere
Поддерживается не только Django: Flask, Bottle, web2py — любой WSGI веб-фреймворк будет работать и скорее всего уже установлен (см. батарейки). В качестве баз данных можно использовать MySQL и SQLite, рассматривается возможность добавления MongoDB и PostgreSQL.
На наиболее дорогом (10 $/месяц, 2ГБ под файлы, SSH) тарифном плане можно хостить свой собственный домен, а на бесплатном тарифе дается субдомен вида your-username.pythonanywhere.com. Бесплатный тариф с минимальными ограничениями — доступно 500МБ дискового пространства, нет SSH.
Имеется аналог cron — можно запланировать запуск скриптов (не только Python) по расписанию.
Можно посмотреть логи доступа и ошибок веб-сервера.
Приступаем к работе
Регистрация не занимает много времени и сразу после подтверждения email-адреса можно начинать пользоваться сервисом.
Django версии 1.3.1. С помощью easy_install я без проблем смог проапгрейдить Django до текущего релиза 1.4:
easy_install —user —upgrade django
Создаём новый Django-проект — для этого идем на вкладку Web и нажимаем большую кнопку «New Django App»:
Для обычного Python проекта без веб-фреймворков просто создаём файл на вкладке Files и сразу попадаем в веб-редактор; после окончания редактирования готовый файл можно сохранить и тут же запустить на выполнение — откроется всплывающее окно с консолью, в которой будет выполняться наш скрипт.
Продолжим с Django — нам предлагают ввести имя проекта и папку для его хранения:
Загрузка телеграм бота на сервер. Подробные шаги загрузки файла *.py на бесплатный сервер PythonAnywhere
Самым сложным для меня, как для новичка, была загрузка телеграм бота на сервер, чтобы он начал полноценно работать. В этой статье хочу рассказать подробные шаги моего самого первого опыта. Для теста я выбрала бесплатный сервер.
Существует множество бесплатных виртуальных серверов для тестирования ботов. Вот некоторые из них:
- PythonAnywhere — облачный хостинг для приложений Python. PythonAnywhere предоставляет бесплатный тарифный план, который позволяет развернуть одно приложение Python.
- Kamatera — есть тестовый период на месяц. Отличное решение для начального теста, а после пролноценной работы.
- Heroku — платформа для развертывания и хостинга приложений, которая предоставляет бесплатный тарифный план. Он позволяет развернуть приложение на серверах Heroku и бесплатно запустить до 5 приложений.
- Amazon Web Services (AWS) — облачная платформа, которая предоставляет бесплатный тарифный план, включая Amazon EC2 (виртуальные серверы), Amazon S3 (хранилище данных) и другие сервисы.
- Google Cloud Platform (GCP) — облачная платформа, которая также предоставляет бесплатный тарифный план, включая Google Compute Engine (виртуальные серверы) и другие сервисы.
- Microsoft Azure — облачная платформа, которая также предоставляет бесплатный тарифный план, включая виртуальные машины и другие сервисы.
PythonAnywhere
Для первого тестирования своего бота я выбрала PythonAnywhere. Регистрация интуитивно понятная.
Примечание: в бесплатном тарифе очень мало процесорных минут, так что этот тариф больше подходит для тестов, а не для полноценной работы. Для полноценной работа я рекомендую платные сервера https://zomro.com/
ШАГ 1. Начало работы. Установка виртуальной среды
1. Перейдите в Dashboard и запустите консоль. Для этого нажимаем New Console — $ Bash
2. Выполните следующую команду в консоли, чтобы установить инструмент virtualenv (инструмент для создания виртуальной среды):
Источник: stepfor.top
Во-первых, загрузить пакет кода
Теперь, когда файл загружен, нам нужно ввести Bash, чтобы распаковать его.
Нажмите в правом верхнем углу Open Bash console here 。
Показать запись Bash После того, как мы увидели эту страницу:
Затем используйте следующий код для распаковки (рекомендуется иметь представление об основных операциях Linux)
# Unzip xxx.zip $ unzip xxx.zip # Удалить оригинальный сжатый пакет $ rm xxx.zip