- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在我正在将 Flask 应用程序部署到 Heroku,这是一个自定义表单模块。
当我检查 Heroku 日志时,它在尝试导入注册表单时收到导入错误。
2016-03-16T18:40:08.254753+00:00 heroku[web.1]: State changed from crashed to starting
2016-03-16T18:40:12.022731+00:00 heroku[web.1]: Starting process with command `gunicorn app.register:app`
2016-03-16T18:40:14.912795+00:00 app[web.1]: [2016-03-16 18:40:14 +0000] [3] [INFO] Starting gunicorn 19.4.5
2016-03-16T18:40:14.913529+00:00 app[web.1]: [2016-03-16 18:40:14 +0000] [3] [INFO] Listening at: http://0.0.0.0:39309 (3)
2016-03-16T18:40:14.913654+00:00 app[web.1]: [2016-03-16 18:40:14 +0000] [3] [INFO] Using worker: sync
2016-03-16T18:40:14.917468+00:00 app[web.1]: [2016-03-16 18:40:14 +0000] [7] [INFO] Booting worker with pid: 7
2016-03-16T18:40:14.951783+00:00 app[web.1]: [2016-03-16 18:40:14 +0000] [8] [INFO] Booting worker with pid: 8
2016-03-16T18:40:15.665966+00:00 heroku[web.1]: State changed from starting to up
2016-03-16T18:40:15.568052+00:00 app[web.1]: [2016-03-16 18:40:15 +0000] [8] [ERROR] Exception in worker process:
2016-03-16T18:40:15.568074+00:00 app[web.1]: Traceback (most recent call last):
2016-03-16T18:40:15.568076+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/arbiter.py", line 515, in spawn_worker
2016-03-16T18:40:15.568076+00:00 app[web.1]: worker.init_process()
2016-03-16T18:40:15.568077+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/workers/base.py", line 122, in init_process
2016-03-16T18:40:15.568078+00:00 app[web.1]: self.load_wsgi()
2016-03-16T18:40:15.568078+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/workers/base.py", line 130, in load_wsgi
2016-03-16T18:40:15.568079+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2016-03-16T18:40:15.568080+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/app/base.py", line 67, in wsgi
2016-03-16T18:40:15.568081+00:00 app[web.1]: self.callable = self.load()
2016-03-16T18:40:15.568081+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
2016-03-16T18:40:15.568082+00:00 app[web.1]: return self.load_wsgiapp()
2016-03-16T18:40:15.568083+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
2016-03-16T18:40:15.568083+00:00 app[web.1]: return util.import_app(self.app_uri)
2016-03-16T18:40:15.568084+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/util.py", line 357, in import_app
2016-03-16T18:40:15.568085+00:00 app[web.1]: __import__(module)
2016-03-16T18:40:15.568086+00:00 app[web.1]: from registration_form import RegistrationForm
2016-03-16T18:40:15.568086+00:00 app[web.1]: File "/app/app/register.py", line 2, in <module>
2016-03-16T18:40:15.568087+00:00 app[web.1]: ImportError: No module named 'registration_form'
这就是目录的样子。
app
├── register.py
├── registration_form.py
Procfile
requirements.txt
runtime.txt
virtual
这在我的 Procfile 中。
web: gunicorn app.register:app
这是我的 app/register.py 文件
from flask import Flask, render_template, request
from registration_form import RegistrationForm
app = Flask(__name__)
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm(request.form)
#if request.method == 'POST' and form.validate():
return render_template('register.html', form=form)
if __name__ == '__main__':
app.run(debug=True)
这是我的 app/registration_form.py 文件
from wtforms import Form, BooleanField, TextField, PasswordField, validators
class RegistrationForm(Form):
first_name = TextField('First Name', [validators.Length(min=2, max=25)])
last_name = TextField('Last Name', [validators.Length(min=4, max=35)])
email = TextField('Email', [validators.Email()])
zip_code = TextField('Zip Code', [validators.Length(min=4, max=35)])
accept_tos = BooleanField('I accept the TOS', [validators.Required()])
我应该在我的 Procfile 中添加什么来导入注册表单?当我在本地运行该应用程序时,它工作正常,所以我觉得它与 Gunicorn 的配置方式有关。
最佳答案
Python 3.x 不支持您所采用的相对导入方式。您需要更新导入:
from .registration_form import RegistrationForm
或者,您可以进行绝对导入:
from app.registration_form import RegistrationForm
关于python - 部署到 Heroku 时,如何在 Procfile 中使用 Gunicorn 导入自定义模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36044517/
我正在学习如何部署 Django 与 合作的项目赫罗库 . 我注意到这个存储库中有两个文件(教程中的 git):https://github.com/heroku/python-getting-sta
我正在尝试将我的第一个 Java Web 应用程序上传到网络,但我无法处理 Procfile。部署后,有有关成功部署的信息,但当我尝试运行该应用程序时,出现错误,服务器日志似乎表明 Procfile
我有这个简单的 Procfile web: myapp myapp 在路径中,但进程主目录应该是 ./directory/。如何在 Procfile 中指定要启动进程的位置? https://gith
我正在尝试部署 Heroku 应用程序。 我一定是 Procfile 出了问题。当我运行 foreman check 时,出现此错误。 ERROR: no processes defined 在 He
Procfile 中要写什么? 我正在使用 Maven 编写一个 Web 应用程序来制作 .war 打包。当我使用 Tomcat 制作 Artifact filmography2:warexplode
我已经看够了它的外观,我必须更多地了解它。我看到 Heroku 有一个 procfile,我认为它是关于在部署到 heroku 后运行这个 procfile。 我还看到了术语基于 procfiled
上下文: 我正在编写一个中等大小的 Flask 应用程序(10-15 个 View ),在此过程中,我希望以一种易于维护和可扩展的方式组织代码(而不是像大多数 Flask 应用程序那样的单一文件)。
这是我的文件结构: requirements.txt Procfile Chess/ -- lichess-bot/ -- lichess-bot
我在读取大于缓冲区的 proc 文件时遇到问题。我看过这两个问题,我想我遗漏了一些东西。我是否错误地使用了 buffer_location 指针? How can I read large data
我正在尝试在 Heroku 上使用 Django,并且我正在使用其 Django 模板 https://devcenter.heroku.com/articles/django-app-configu
我的一个 friend 在 stackoverflow 上有同样的问题: 我从本教程中复制了代码:http://www.thegeekstuff.com/2012/04/create-proc-fil
我有一个 Flask 应用程序,我在其中嵌入了 Bokeh 服务器图,但我无法让它们同时在 Heroku 上工作。我正在尝试在 Heorku 上部署,我可以从 Procfile 启动 Bokeh 应用
对于 Heroku 上的 Django 应用程序,我的 Procfile 中应该包含什么? 我试过: web: python appname.py 因为我找到了一个类似 python 应用程序的示例。
我正在使用 foreman 启动一堆服务,并在 Procfile 中有以下行。 web: bundle exec rails server -p ${PORT:-3000} 然而,当服务器启动时
这是我第一次使用Heroku,而且在Google中找不到与此错误类似的人,这意味着我可能做错了什么: 我正在遵循基本的Heroku setup guide here将NodeJS应用程序部署到Web。
我一直在尝试设置命令来启动 Heroku 的 Java Spark 应用程序。它说无法找到或加载主类。我尝试了该命令的许多变体,修改了路径和参数,但无济于事。知道错误可能来自哪里吗? 我的 Procf
我对 Heroku 很陌生。 我将我的 Rails 应用程序上传到 Heroku,并希望使用 Thin 而不是 Webrick 来运行它。关注 Heroku’s guide我应该使用 web: bun
我开发了 Telegram 机器人并上传到 Heroku。但 30 分钟后我的应用程序进入休眠状态并且无法唤醒。我认为它发生了,因为我在 ProcFile 中写入了不正确的命令,并且 sleep 后端
我正在尝试将我的简单 SpringMVC 应用程序部署到 heroku。我几乎完成了,但在命令后的最后一刻 git push heroku master 消息来了 push rejected, no
这个问题在这里已经有了答案: multiple worker/web processes on a single heroku app (1 个回答) 关闭 3 年前。 我有两个不同的工作器,我想在
我是一名优秀的程序员,十分优秀!