我最近收購了一個項目,我正在使用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>
你已經安裝了MySQL的連接器? –
不幸的是,我沒有任何答案,但我遇到了同樣的問題(能夠遠程運行,無法在本地運行應用程序)。我的錯誤是 '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
是的,我正在將它用於其他產品。我使用數據庫的aws,但我不知道這是否會導致問題。 – applecrusher