这是我第一次使用Heroku,我正在尝试部署一个python应用程序,它是使用Fastapi构建的。在本地运行应用程序时,一切都很好,代码本身应该没有问题。
我已经创建了我的Procfile,其中包含: web: uvicorn app.main:app -host=0.0.0.0-PORT=${PORT:-5000}
我在git中添加了所有内容,执行了git提交命令,并将其全部推到git中。
当所有东西都登记到git时,我就把它推到Heroku: git推heroku main。
dyno/app获得“构建成功”,并从日志中看到一个端口正在分配,但在尝试浏览应用程序时,我仍然得到错误代码。
其中最常见的是H20 - App启动时间,但我也看到了错误代码R10,最后看到的是H10 = App。另外,它记录了"tkinter“<的问题--这应该在Python的安装过程中得到解决吗?
当我将引导时间增加到+120秒时,就会出现H20。当我重置为默认60秒时,它只记录R10 + H10。
在图2的底部:
2022-04-13T05:45:58.726998+00:00 app[web.1]: import _tkinter # If this fails your Python may not be configured for Tk
2022-04-13T05:45:58.727020+00:00 app[web.1]: ModuleNotFoundError: No module named '_tkinter'
2022-04-13T05:46:55.695010+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
requirements:
alembic==1.7.7
anyio==3.5.0
asgiref==3.5.0
bcrypt==3.2.0
certifi==2021.10.8
cffi==1.15.0
charset-normalizer==2.0.12
click==8.1.2
colorama==0.4.4
cryptography==36.0.2
dnspython==2.2.1
ecdsa==0.17.0
email-validator==1.1.3
fastapi==0.75.1
greenlet==1.1.2
h11==0.13.0
httptools==0.4.0
idna==3.3
Mako==1.2.0
MarkupSafe==2.1.1
passlib==1.7.4
psycopg2==2.9.3
pyasn1==0.4.8
pycparser==2.21
pydantic==1.9.0
python-dotenv==0.20.0
python-jose==3.3.0
python-multipart==0.0.5
PyYAML==6.0
requests==2.27.1
rsa==4.8
Rx==3.2.0
six==1.16.0
sniffio==1.2.0
SQLAlchemy==1.4.34
starlette==0.17.1
tk==0.1.0
toml==0.10.2
typing_extensions==4.1.1
ujson==5.2.0
urllib3==1.26.9
uvicorn==0.17.6
watchgod==0.8.2
websockets==10.2有人对这个问题有什么建议吗?
发布于 2022-04-13 08:37:26
答复如下:
“您正在导入turtle,这是一个GUI应用程序(它试图使用tkinter) --我认为这不适用于web服务?- MatsLindh。”
我无意间从乌龟那里进口了一些东西。按照MatsLindh的建议,删除此导入解决了此问题。
https://stackoverflow.com/questions/71852504
复制相似问题