У моего веб-хоста нет python, и я пытаюсь создать приложение для машинного обучения. Я знаю, что heroku позволяет использовать python. Мне было интересно, могу ли я использовать героку в качестве сервера python? Как и в случае, я хотел бы, чтобы герой выполнял всю обработку python для меня и использовал мой обычный домен для всего остального.Можно ли использовать Heroku в качестве сервера Python?
ответ
Да, вы можете использовать Heroku в качестве сервера python. Я положил сервер Python Flask на Heroku, но это было больно: у Героку, похоже, были некоторые трудности, и было много противоречивых советов по их обходу. В конце концов я получил работу, не помню, на какой веб-странице был окончательный ответ, но вы можете посмотреть на это: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xviii-deployment-on-the-heroku-cloud
Как правило, героку - это боль в заднице. Я провел HOURS, пытаясь развернуть приложение django на heroku ... никогда не получал его, чтобы работать безупречно. – erip
Да, и это может быть боль сначала, но как только она будет установлена, я бы сказал, что Heroku является самую легкую платформу для постоянного развертывания. Тем не менее, это не интуитивно - не пытайтесь и просто «возьмите удар»; следуйте инструкциям и попытайтесь понять, почему Heroku работает так, как он делает.
Адрес: docs Ставка: По большей части Heroku имеет большую документацию.
Вот обобщенный рабочий процесс для развертывания на Heroku:
- Локально, создать свой проект и использовать
virtualenv
для установки/управления библиотеки. - Инициализировать репозиторий git в базовом каталоге для вашего Проект Python; создать Heroku пульт дистанционного управления (
heroku create
) - Создать
procfile
для Heroku использовать при запускеgunicorn
(или см варианты использованияwaitress
/и т.д.); это используется Heroku для запуска вашего процесса cd
к базе данных; freeze your virtualenv (pip freeze > requirements.txt
) и добавить/зафиксироватьrequirements.txt
. Это говорит Heroku, какие пакеты необходимо установить, что требует вашего развертывания. Если вы пытаетесь запустить проект Python и отсутствуют необходимые пакеты, приложение не сможет запустить, и Heroku отобразит внутреннюю ошибку сервера.- В случае внесения изменений,
git commit
ваши изменения иgit push heroku master
, чтобы подтолкнуть все фиксации к Heroku. Это приведет к тому, что Heroku перезапустит серверное приложение с обновленным развертыванием. Если произошел сбой, вы можете использоватьheroku rollback
, чтобы вернуться к последнему развертыванию.
В действительности, это не боль в попке, просто особая. Зная правила Heroku, вы можете легко управлять развертыванием с помощью команд git командной строки.
Одно предупреждение - при развертывании Django, приложений Flask и т. Д. Есть особенности для учета; в частности, файлы без проекта (включая активы) НЕ должны храниться на Heroku, поскольку Heroku периодически перезапускает ваш «dyno» (экземпляр сервера), загружая весь проект с последнего нажатия на Heroku. С Django и Flask это обычно означает использование ресурсов/статических/медиафайлов из ведра Amazon S3.
Если вы используете virtualenv правильно, предоставляете свои базы данных и следуйте инструкциям Heroku для обслуживания файлов и обновлений, это (imho) абсолютная лучшая платформа для простоты использования, надежного времени безотказной работы и хорошо - свернутые развертывания.
Последний совет - если вы создаете приложение Django, я предлагаю начать проект из this шаблона. У меня есть пользовательский, который я использую для новых проектов, и могу запускать и публиковать проект за считанные минуты.
Вы сделали свой Python Server на Heroku, используя скрученный?
Я не знаю, может ли это вам помочь.
Я вижу, что документ «Начало работы с Heroku с Python» посвящен Django.
Он уверен, что Heroku можно использовать Twisted из docs
Pure Python applications, such as headless processes and evented web frameworks like Twisted, are fully supported.
django-twisted-server покрутил в Джанго, но это не на Heroku.
Пожалуйста, не просто отправьте ссылку на какой-либо инструмент или библиотеку в качестве ответа. По крайней мере, продемонстрируйте [как он решает проблему] (http://meta.stackoverflow.com/a/251605) в самом ответе. –
Извините, я отредактировал. – soysoy
- 1. Можно ли использовать WebSockets в качестве прокси-сервера для бедных?
- 2. Можно ли использовать Hirb в консоли Heroku?
- 3. Можно ли использовать классы в качестве словарных ключей в python?
- 4. Rails: Можно ли использовать newrelic_logwatcher_agent на Heroku?
- 5. Можно ли использовать SQLAlchemy на Heroku?
- 6. Можно ли использовать строку в качестве индекса?
- 7. Можно ли использовать класс в качестве указателя?
- 8. Можно ли использовать двоеточие в качестве идентификатора?
- 9. Можно ли использовать curl в качестве прокси-сервера и будет ли он использовать мою пропускную способность?
- 10. Можно ли использовать модули Python в Octave?
- 11. Можно ли использовать nginx в качестве обратного прокси-сервера для серверного веб-сервера?
- 12. Можно ли установить vps_ip в качестве прокси-сервера, с помощью которого можно использовать wget?
- 13. Можно ли использовать Socket.LocalEndPoint в качестве уникального идентификатора?
- 14. Можно ли использовать облачный борт без сервера?
- 15. Могу ли я использовать Chromecast в качестве сервера?
- 16. Можно ли использовать выделенный IP-адрес в качестве источника IP?
- 17. Можно ли использовать JAX-RS в качестве веб-рамки?
- 18. Можно ли использовать python mock для производства?
- 19. Можно ли использовать PROTOCOL_TLSv1_2 в python 3.2.5?
- 20. Можно ли использовать Key Counter в Python?
- 21. Можно ли прокомментировать heroku build
- 22. Можно ли отрегулировать диноцикл Heroku?
- 23. Можно ли вручную загрузить buildpack на Heroku?
- 24. Можно ли использовать изменяемый объект в качестве ключа в словаре?
- 25. Можно ли использовать NSLocalizedString в качестве ключа в словаре?
- 26. Можно ли использовать PDF в качестве HTML-страницы в CSS?
- 27. Можно ли использовать «Индекс» в качестве имени столбца в mysql
- 28. Можно ли использовать таблицу в Windows Forms в качестве матрицы?
- 29. Можно ли использовать числа в качестве имен таблиц в MySQL?
- 30. Можно ли использовать указатели в качестве клавиш карты в Go?
Вы пробовали прочитать их [docs] (https://devcenter.heroku.com/articles/getting-started-with-python#introduction)? – IanAuld