2015-12-26 32 views
4

我最近收購了一個項目,我正在使用heroku構建。我想在本地運行它,但是我遇到了麻煩,而且我對Heroku沒有太多經驗。這是我在嘗試運行heroku本地時所獲得的結果。運行「heroku本地」時工作進程中的異常

蘋果終端命令

kaMacintosh:zddev ka$ heroku local 
forego | starting web.1 on port 5000 
web.1 | [2015-12-26 15:12:43 -0500] [1741] [INFO] Starting gunicorn 19.4.1 
web.1 | [2015-12-26 15:12:43 -0500] [1741] [INFO] Listening at: http://0.0.0.0:5000 (1741) 
web.1 | [2015-12-26 15:12:43 -0500] [1741] [INFO] Using worker: sync 
web.1 | [2015-12-26 15:12:43 -0500] [1744] [INFO] Booting worker with pid: 1744 
web.1 | [2015-12-26 15:12:43 -0500] [1744] [ERROR] Exception in worker process: 
web.1 | zd/main.py", line 6, in <module> 
web.1 | ka/Documents/zdenvs/zddev/main.py", line 6, in <module> 
web.1 | [2015-12-26 15:12:43 -0500] [1744] [INFO] Worker exiting (pid: 1744) 
web.1 | Traceback (most recent call last): 
web.1 |  sys.exit(run()) 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run 
web.1 |  super(Application, self).run() 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 72, in run 
web.1 |  Arbiter(self).run() 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 179, in run 
web.1 |  self.manage_workers() 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 482, in manage_workers 
web.1 |  self.spawn_workers() 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 549, in spawn_workers 
web.1 |  time.sleep(0.1 * random.random()) 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 219, in handle_chld 
web.1 |  self.reap_workers() 
web.1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 464, in reap_workers 
web.1 |  raise HaltServer(reason, self.WORKER_BOOT_ERROR) 
web.1 | gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3> 

Procfile

web: gunicorn main:app --log-file=- 

看來6號線是是mysql.connector問題,這裏是第幾行,以在main.py

主.py

import os 
import sys 
import json 
import urllib 
import custom 
import mysql.connector 
import datetime 
import operator 

from flask import Flask, jsonify 
from flask import render_template 
from flask import request, redirect, url_for 
from mysql.connector import errorcode 
application = Flask(__name__) 
app = application 

任何想法是什麼導致錯誤或如何解決。是真的mysql.connector導致main.py中第6行的問題?我正在使用Python 2.7.11。

運行在自己的gunicorn main:app產生

Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 515, in spawn_worker 
    worker.init_process() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 122, in init_process 
    self.load_wsgi() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 130, in load_wsgi 
    self.wsgi = self.app.wsgi() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi 
    self.callable = self.load() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load 
    return self.load_wsgiapp() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp 
    return util.import_app(self.app_uri) 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app 
    __import__(module) 
    File "/Users/ka/Documents/zdenvs/zddev/main.py", line 6, in <module> 
    import mysql.connector 
ImportError: No module named mysql.connector 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 515, in spawn_worker 
    worker.init_process() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 122, in init_process 
    self.load_wsgi() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 130, in load_wsgi 
    self.wsgi = self.app.wsgi() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi 
    self.callable = self.load() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load 
    return self.load_wsgiapp() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp 
    return util.import_app(self.app_uri) 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app 
    __import__(module) 
    File "/Users/ka/Documents/zdenvs/zddev/main.py", line 6, in <module> 
    import mysql.connector 
ImportError: No module named mysql.connector 
[2016-01-04 15:34:18 -0500] [6225] [INFO] Worker exiting (pid: 6225) 
Traceback (most recent call last): 
    File "/usr/local/bin/gunicorn", line 11, in <module> 
    sys.exit(run()) 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run 
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 192, in run 
    super(Application, self).run() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 72, in run 
    Arbiter(self).run() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 179, in run 
    self.manage_workers() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 482, in manage_workers 
    self.spawn_workers() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 549, in spawn_workers 
    time.sleep(0.1 * random.random()) 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 219, in handle_chld 
    self.reap_workers() 
    File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 464, in reap_workers 
    raise HaltServer(reason, self.WORKER_BOOT_ERROR) 
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3> 
+0

你已經安裝了MySQL的連接器? –

+0

不幸的是,我沒有任何答案,但我遇到了同樣的問題(能夠遠程運行,無法在本地運行應用程序)。我的錯誤是 'web.1 | [2015-12-31 17:59:51 -0400] [4100] [錯誤]工作進程異常:' 'web.1 | le>' 'web.1 | 「/Library/Python/2.7/site-packages/gunicorn/util.py」,第357行,in import_app' – user3276768

+0

是的,我正在將它用於其他產品。我使用數據庫的aws,但我不知道這是否會導致問題。 – applecrusher

回答

0

有與MySQL連接器的問題-python庫。它在我的項目中途被放棄,所以它被安裝在heroku實例上,但不在我的本地機器上。相反,我剛剛更換了該線路requirements.txt文件:

mysql-connector-python==2.0.4 

https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.tar.gz 
0

嘗試運行手動

「蟒蛇manage.py的runserver 0.0.0.0:5000」

+1

您可以通過添加有關它的功能,如何幫助以及添加參考的信息來改善您的答案。 – dakab

相關問題