将纯python部署到heroku

时间:2012-10-15 12:41:42

标签: python heroku

我“完成了”一个小python项目,我想在heroku上部署它 GitHub page。 我想执行:python2 main.py -i json-rpc 为了让json-rpc服务器监听连接 但推送到heroku时出现以下错误:

  

$ git push heroku master计数对象:153,完成。三角洲   使用多达8个线程进行压缩。压缩对象:100%(87/87),   完成。书写对象:100%(153/153),43.42 KiB,完成。总计153   (delta 61),重复使用153(delta 61)

     

- - - - > Heroku接受推! Heroku推送被拒绝,没有检测到Cedar支持的应用

     

到git@heroku.com:panager.git! [远程拒绝]主人 - >主   (pre-receive hook拒绝)错误:无法推送一些引用   'git@heroku.com:panager.git'

2 个答案:

答案 0 :(得分:12)

您可能想要尝试做的是创建一个Procfile。完整文件名是Procfile,没有扩展名,它位于项目文件夹的主目录中。

该文件的内容为:

web: python main.py -i json-rpc

给它一个镜头,看它是否有效。

或者,您可能忘记为自己的应用创建virtualenv

您应该按照Heroku指南Getting Started with Python on Heroku

中的说明操作

更新

最后我在一个新的Heroku应用程序上测试了这个,你缺少的是requirements.txt。即使您没有任何依赖项,您仍然需要它。在主项目文件夹中的virtualenv中,运行pip freeze > requirements.txt,然后git add .然后git commit -m "added requirements.txt",然后推送到Heroku,它应该可以运行。

答案 1 :(得分:1)

另外,请确保使用ANSI编码保存requirements.txt,而不是Unicode或UTF-8!如果你像我这样的总n00b,你只需在记事本中打开requirements.txt,选择SAVE AS并从下拉列表中更改“编码”。我尝试了上面的所有建议,但我的错误是由于这个简单的编码问题。