我的网络主机没有python,我试图构建一个机器学习应用程序。我知道heroku可以让你使用python。我想知道我是否可以使用heroku作为python服务器?就像我会让heroku为我做所有的python处理,并使用我的常规域来处理其他事情一样。我可以使用Heroku作为Python服务器吗?
回答
是的,你可以使用Heroku作为python服务器。我在Heroku上安装了一个Python Flask服务器,但这是一个痛苦的问题:Heroku似乎有一些困难,并且在解决这些问题上存在很多相互矛盾的建议。我最终得到它的工作,不记得什么网页有最终答案,但你可能看看这个:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xviii-deployment-on-the-heroku-cloud
作为一项规则,heroku是一个痛苦的屁股。我花了几个小时尝试在heroku上部署一个django应用程序...从来没有完美地工作。 – erip
是的,它可能是一个痛苦,但一旦设置,我会说Heroku是最持续部署的最简单的平台。然而,它不直观 - 不要尝试只是'刺'一下;按照教程,并尝试了解为什么Heroku以它的方式工作。
继docs是一个不错的选择; Heroku大部分都有很好的文档。
这里是广义工作流部署到Heroku的:
- 本地,创建项目并使用
virtualenv
安装/管理 库。 - 在Python项目中初始化基本目录中的git存储库以供您的 ;创建的Heroku远程(
heroku create
) - 创建
procfile
为Heroku的起始gunicorn
当使用(或看到 选项使用waitress
/等);这是由Heroku用来启动你的进程 cd
到你的基地目录;冻结 您的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中,因为Heroku定期重新启动你的'dyno'(服务器实例),从最新推送到Heroku加载整个项目。使用Django和Flask,这通常意味着从Amazon S3存储桶提供资产/静态/媒体文件。这就是说,如果您正确使用virtualenv,配置您的数据库,并遵循Heroku惯例来提供服务文件和提交更新,那么这是绝对最好的平台,因为它易于使用,可靠的正常运行时间以及良好的滚动部署。最后一个提示 - 如果你正在创建一个Django应用程序,我建议从this样板开始你的项目。我有一个用于新项目的自定义项目,可以在几分钟内启动并发布一个项目。
你是否已经通过使用扭曲在Heroku上完成了你的Python服务器?
我不知道这是否能帮助你。
我看到文档“Python入门Heroku”是关于Django的。
可以肯定的是Heroku的可以使用双绞线从docs
Pure Python applications, such as headless processes and evented web frameworks like Twisted, are fully supported.
django-twisted-server已经扭曲Django的,但它不是在Heroku。
请不要只是发布链接到一些工具或库作为答案。至少在答案中演示[它如何解决问题](http://meta.stackoverflow.com/a/251605)。 –
对不起,我编辑过。 – soysoy
- 1. 我可以使用我的网络服务器作为邮件服务器吗?
- 2. 我可以使用Node.js作为服务器端语言吗
- 3. 我可以使用Apache服务器作为本地网络吗?
- 4. 我可以使用iPhone或iPad设备作为服务器吗?
- 5. 我可以使用Tails作为SOCKS代理服务器吗
- 6. Java applet可以作为服务器吗?
- 7. 我可以让Web服务器成为索引服务器吗?
- 8. 我可以用Micro Cloud Foundry和Rackspace云服务器制作自己的Heroku吗?
- 9. 我可以将heroku连接到外部MySQL服务器吗?
- 10. 我可以将Python脚本作为服务运行吗?
- 11. 在heroku服务器上可以将latex编译为pdf吗?
- 12. 我可以使用restful作为网站数据服务吗?
- 13. 我可以使用spark作为服务吗
- 14. Java客户端/服务器 - 我们可以使服务器作为客户端到另一台服务器吗?
- 15. 我可以将我的电脑用作Java服务器吗?
- 16. 我可以使用iCloud作为后端服务器和iOS应用吗?
- 17. Grpc:C#服务器可以作为Windows服务吗?
- 18. 我可以使用免费的Heroku计划作为Telegram Bot吗?
- 19. Cloudrail可以无服务器使用吗?
- 20. 我可以使用Firebase实时数据库/ Firestore作为OAuth2.0服务器吗?
- 21. 我们可以使用Angular 2作为服务器端脚本吗?
- 22. 我们可以使用node.js作为mongodb的服务器端语言吗?
- 23. 我可以使用Orbited作为动态内容的HTTP服务器吗?
- 24. 我可以使用ClearCase快照视图作为Web服务器上的DocRoot吗?
- 25. 我可以使用HTTP :: Server :: Simple作为下载http服务器吗?
- 26. 我可以使用SQLExpress作为同步框架4.0中的服务器吗?
- 27. 我可以使用windbg作为Windows服务的验尸调试器吗?
- 28. 可以使用silverlight standalone来制作任务服务器吗?
- 29. 我可以使用cURL绕过我的服务器安全吗?
- 30. 可以制作Arduino IRC服务器吗?
您是否试过阅读[docs](https://devcenter.heroku.com/articles/getting-started-with-python#introduction)? – IanAuld