繁体   English   中英

为什么我在将 django 部署到 heroku 时看到“没有名为 '_tkinter 的模块”?

[英]Why am I seeing "No module named '_tkinter" when I deploy django to heroku?

django 在我的本地机器上运行良好。 但是,当我将它部署到 heroku 时,我看到“ModuleNotFoundError”“没有名为 '_tkinter' 的模块”。 不过,我从未在我的代码中导入“_tkinter”或“tkinter”。 您的帮助将不胜感激。 谢谢你。

ModuleNotFoundError 在 /

没有名为“_tkinter”的模块

请求方法:GET请求URL: https://howididit.herokuapp.com/ Django版本:4.0.6异常类型:模块错误

没有名为“_tkinter”的模块

Exception Location: /app/.heroku/python/lib/python3.10/tkinter/ init .py, line 37, in Python Executable: /app/.heroku/python/bin/python Python Version: 3.10.5 Python Path:

['/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python310.zip', '/app/.heroku/python/lib/python3.10', '/app/.heroku/python/lib/python3.10/lib-dynload', '/app/.heroku/python/lib/python3.10/site-packages']

如果您不使用 Tkinter,只需将其从/forms.py. 否则它将被导入。

如果您想使用 tkinter,请考虑以下过程

请尝试将 tkinter 添加到您的 requirements.txt 中。 如果它失败了,即使在那之后,检查你是否添加了 Python buildpack。 如果这两种情况都通过,请尝试对 Heroku 实例进行炮击并运行以下命令:

sudo apt install python3-tk

这将在您的 Heroku 实例中安装 Tkinter 库。 这将解决您的错误。

from pyexpat import model from turtle import title from attr import fields中导入到我的 forms.py 中。 删除后,问题就解决了。 再次感谢大家的时间,我真的很感激。

好吧,对于任何将来看到这个并将头撞在桌子上的人......这对我有用:

我从一个新的 Hello World 应用程序开始,并开始添加一些我的原始代码,直到我遇到错误

发现我正在使用的模块之一:icu,正在使用 tkinter 而我需要安装 Pyicu 模块

pip 直接安装到 heroku bash 控制台而不是通过我的应用程序

我在网上找到的答案都没有对我有用,我认为这是因为这个错误不是因为 tkinter 直接在你的应用程序中,而是来自另一个调用它的模块。

如有疑问,请执行我所做的并从头开始一个新项目并添加代码块,直到您收到错误以查看哪个模块正在创建它

不要忘记在设置文件中将 DEBUG 更改为 False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM