坏文件描述符 - Heroku Foreman

时间:2013-06-11 19:09:42

标签: python heroku python-2.7 windows-8 heroku-toolbelt

我正在尝试从this Python Heroku tutorial运行 hello.py 。运行此命令后我的问题开始了:foreman start。即使我安装了Heroku Toolbelt

,我也收到以下错误消息
  

领班不被视为内部或外部命令,可操作   程序或批处理文件

所以我将工头文件(版本0.63.0)的位置添加到我的路径

  

C:\ Program Files(x86)\ Heroku \ ruby​​-1.9.2 \ bin

并重新启动命令提示符并重新foreman start。现在,我收到了这个错误:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Users\me\Desktop\Code\heroku_python_app>venv\Scripts\activate
(venv) C:\Users\me\Desktop\Code\heroku_python_app>foreman start
Bad file descriptor
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:372:in `read_nonblock'
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:372:in `block (2 levels) in watch_for_output'
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:368:in `loop'
C:/Program Files (x86)/Heroku/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/foreman-0.63.0
/lib/foreman/engine.rb:368:in `block in watch_for_output'
12:57:38 web.1  | exited with code 1
12:57:38 system | sending SIGKILL to all processes

(venv) C:\Users\me\Desktop\Code\heroku_python_app>

hello.py

import os
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World'

Procfile

web: gunicorn hello:app

编辑1

阅读this answer后,我做了以下事情:

gem uninstall foreman   
gem install foreman -v 0.61.0

然而,当我重新foreman start时,我现在收到此错误

(venv) C:\Users\me\Desktop\Code\heroku_python_app>foreman start
14:13:20 web.1  | started with pid 252
14:13:20 web.1  | exited with code 1
14:13:20 system | sending SIGKILL to all processes
14:13:20        | Traceback (most recent call last):
14:13:20        |   File "C:\Users\me\Desktop\Code\heroku_python_app\venv\Scri
pts\gunicorn-script.py", line 9, in <module>

(venv) C:\Users\me\Desktop\Code\heroku_python_app>

任何帮助都将非常感谢。提前谢谢。

1 个答案:

答案 0 :(得分:6)

我通过运行以下命令解决了这个问题:

gem uninstall foreman
gem install foreman -v 0.61.0 [EDIT]

如上所述here