Heroku工人突然崩溃,日志不';我没有显示任何脚本。怎么搞的?

Heroku工人突然崩溃,日志不';我没有显示任何脚本。怎么搞的?,heroku,flask,logging,Heroku,Flask,Logging,我有一个flask,gunicorn,postgresql项目托管在heroku上,但它突然失败了。我可以访问日志,但是没有我编写的脚本,所以我很困惑。我没有在“工作”和“不工作”之间添加任何内容,所以我不知道从哪里开始 该日志可在以下位置找到。 最后一部分是: 2020-02-06T21:09:02.748093+00:00 app[web.1]: from werkzeug.contrib.cache import FileSystemCache 2020-02-06T21:09:02.74

我有一个flask,gunicorn,postgresql项目托管在heroku上,但它突然失败了。我可以访问日志,但是没有我编写的脚本,所以我很困惑。我没有在“工作”和“不工作”之间添加任何内容,所以我不知道从哪里开始

该日志可在以下位置找到。 最后一部分是:

2020-02-06T21:09:02.748093+00:00 app[web.1]: from werkzeug.contrib.cache import FileSystemCache
2020-02-06T21:09:02.748100+00:00 app[web.1]: ModuleNotFoundError: No module named 'werkzeug.contrib'
2020-02-06T21:09:02.748789+00:00 app[web.1]: [2020-02-06 21:09:02 +0000] [10] [INFO] Worker exiting (pid: 10)
我试图将werkzeug添加到requirements.txt中,但没有帮助。无论如何,这都会很奇怪,因为它在需求没有变化的情况下工作得很好

如果您能帮助我减少requirements.txt,我们将不胜感激

原始要求.txt:

cs50
Flask
Flask-Session
requests
gunicorn
psycopg2-binary
openpyxl
新的、有效的:

astroid==2.3.3
attrs==19.3.0
Authlib==0.13
autopep8==1.5
awscli==1.17.9
backports.shutil-get-terminal-size==1.0.0
backports.shutil-which==3.5.2
beautifulsoup4==4.8.2
botocore==1.14.9
bs4==0.0.1
cairocffi==1.1.0
CairoSVG==2.4.2
certifi==2019.11.28
cffi==1.13.2
chardet==3.0.4
check50==3.0.10
Click==7.0
colorama==0.4.1
compare50==1.1.2
cryptography==2.8
cs50==5.0.3
cssselect2==0.2.2
cycler==0.10.0
defusedxml==0.6.0
docutils==0.15.2
EditorConfig==0.12.2
et-xmlfile==1.0.1
Flask==1.1.1
Flask-Session==0.3.1
help50==3.0.0
html5lib==1.0.1
icdiff==1.9.1
idna==2.8
ikp3db==1.4.1
intervaltree==2.1.0
isort==4.3.21
itsdangerous==1.1.0
jdcal==1.4.1
jellyfish==0.7.2
Jinja2==2.11.1
jmespath==0.9.4
jsbeautifier==1.10.3
kiwisolver==1.1.0
lazy-object-proxy==1.4.3
lib50==2.0.7
logger==1.4
MarkupSafe==1.1.1
matplotlib==3.1.3
mccabe==0.6.1
natsort==7.0.1
nltk==3.4.5
numpy==1.18.1
oauthlib==3.1.0
openpyxl==3.0.3
pandas==1.0.0
pexpect==4.8.0
Pillow==7.0.0
plotly==4.5.0
psycopg2-binary==2.8.4
ptyprocess==0.6.0
pyasn1==0.4.8
pycodestyle==2.5.0
pycparser==2.19
Pygments==2.5.2
pylint==2.4.4
pylint-django==2.0.13
pylint-flask==0.6
pylint-plugin-utils==0.6
pyparsing==2.4.6
PyPDF2==1.26.0
Pyphen==0.9.5
python-dateutil==2.8.1
python-magic==0.4.15
pytz==2019.3
PyYAML==5.2
render50==3.1.3
requests==2.22.0
requests-oauthlib==1.3.0
retrying==1.3.3
rsa==3.4.2
s3cmd==2.0.2
s3transfer==0.3.2
six==1.14.0
sortedcontainers==2.1.0
soupsieve==1.9.5
SQLAlchemy==1.3.13
sqlparse==0.3.0
style50==2.7.4
submit50==3.0.2
termcolor==1.1.0
tinycss2==1.0.2
tqdm==4.42.1
twython==3.7.0
typed-ast==1.4.1
urllib3==1.25.8
virtualenv==16.7.9
WeasyPrint==49
webencodings==0.5.1
Werkzeug==0.16.1
wrapt==1.11.2
gunicorn

Werkzeug昨天发布了一个新版本:

显然,
werkzeug.contrib
已移动到单独的模块

建议您尝试一下

/env/bin/pip安装werkzeug==0.16.0

Werkzeug昨天发布了一个新版本:

显然,
werkzeug.contrib
已移动到单独的模块

建议您尝试一下

/env/bin/pip安装werkzeug==0.16.0

这是另一个可能适合您的解决方案

因为
Werkzeug 1.0.0
已经从
Werkzeug.contrib
中删除了不推荐的代码

werkzeug==1.0.0

降级到
werkzeug==0.16.0
后,我收到了以下警告:

DeprecationWarning: 'werkzeug.contrib.fixers.ProxyFix' has moved to 'werkzeug.middleware.proxy_fix.ProxyFix'.
This import is deprecated as of version 0.15 and will be removed in 1.0.
DeprecationWarning: 'werkzeug.contrib.cache' is deprecated as of version 0.15 and will be removed in version 1.0. It has moved to pallets.
from werkzeug.contrib.cache import FileSystemCache
要解决这些问题,请执行以下操作:

pip install werkzeug==1.0.0
对于
ProxyFix

from werkzeug.middleware.proxy_fix import ProxyFix
对于
FileSystemCache
,您必须安装托盘:

pip install -U cachelib
from cachelib.file import FileSystemCache

我希望这有助于解决您的问题这里有另一个可能适合您的解决方案

因为
Werkzeug 1.0.0
已经从
Werkzeug.contrib
中删除了不推荐的代码

werkzeug==1.0.0

降级到
werkzeug==0.16.0
后,我收到了以下警告:

DeprecationWarning: 'werkzeug.contrib.fixers.ProxyFix' has moved to 'werkzeug.middleware.proxy_fix.ProxyFix'.
This import is deprecated as of version 0.15 and will be removed in 1.0.
DeprecationWarning: 'werkzeug.contrib.cache' is deprecated as of version 0.15 and will be removed in version 1.0. It has moved to pallets.
from werkzeug.contrib.cache import FileSystemCache
要解决这些问题,请执行以下操作:

pip install werkzeug==1.0.0
对于
ProxyFix

from werkzeug.middleware.proxy_fix import ProxyFix
对于
FileSystemCache
,您必须安装托盘:

pip install -U cachelib
from cachelib.file import FileSystemCache

我希望这有助于解决您的问题,请提供
requirements.txt
。我可以恢复到工作版本。我在github中更改了readme.md。这是我在比较中看到的所有内容。但是,请提供
requirements.txt
以了解完整性问题。感谢您为我指出这些要求。它回到了可用状态。我在IDE中做了冻结操作,现在我的需求很难看,但仍然有效。找到了差异所在。我强烈建议使用
Poetry
进行包管理。请提供
requirements.txt
。我可以恢复到工作版本。我在github中更改了readme.md。这是我在比较中看到的所有内容。但是,请提供
requirements.txt
以了解完整性问题。感谢您为我指出这些要求。它回到了可用状态。我在IDE中做了冻结操作,现在我的需求很难看,但仍然有效。我必须弄清楚区别在哪里。我强烈建议使用
诗歌
进行包管理。哈!我想这就是原因。很高兴知道这不是我的代码。或者是,只是因为我没有指定版本。非常感谢,马丁。这只臭虫花了我大约六个小时的时间试图弄清楚我做了什么改变,结果把小狗搞得一团糟。两周前,我为此损失了12个小时::现在这会成为一种趋势吗?哈!我想这就是原因。很高兴知道这不是我的代码。或者是,只是因为我没有指定版本。非常感谢,马丁。这只臭虫花了我大约六个小时的时间试图弄清楚我做了什么改变,结果把小狗搞得一团糟。两周前,我为此损失了12个小时::现在这会成为一种趋势吗?谢谢,如果我需要使用更新版本的werkzeug,这将是一个解决方案。到目前为止,我一直使用旧版本,因为我不需要新版本中的任何特殊内容。谁知道这是否适用于未来。现在我知道如何处理这个问题了。谢谢,如果我需要使用更新版本的werkzeug,这将是一个解决方案。到目前为止,我一直使用旧版本,因为我不需要新版本中的任何特殊内容。谁知道这是否适用于未来。现在我知道怎么处理那个案子了。