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

ajsxfq5m  于 2022-11-13  发布在  Go
关注(0)|答案(4)|浏览(152)

django在我的本地机器上运行得很好。但是,当我把它部署到heroku时,我看到了“ModuleNotFoundError”“没有名为'_tkinter'”的模块“。尽管如此,我从来没有在我的代码中导入“_tkinter”或“tkinter”。我们将非常感谢您的帮助。谢谢。
未找到模块/处出错
没有名为“_tkinter”的模块
请求方法:GET请求URL:https://howididit.herokuapp.com/ Django版本:4.0.6异常类型:ModuleNotFoundError异常值:
没有名为“_tkinter”的模块
例外位置:第37行,Python可执行文件:/app/.heroku/python/bin/Python Python语言版本:3.10.5 Python路径:
在一个示例中,您可以使用一个或多个应用程序来创建一个或多个python310.zipPython文件夹,然后将其添加到一个或多个应用程序中。

2w3kk1z5

2w3kk1z51#

如果你不使用Tkinter,只需将其从/forms.py.中删除,否则它将被导入。
如果您想使用tkinter,请考虑以下过程
请尝试将tkinter添加到requirements.txt中。如果失败,检查是否添加了Python buildpack。如果两种情况都通过,尝试将shell插入Heroku示例并运行以下命令:

sudo apt install python3-tk

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

3okqufwl

3okqufwl2#

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

ijnw1ujt

ijnw1ujt3#

好吧,所以对于任何人在未来看到这个,并把他们的头撞在table上...这是对我的工作:
我从一个新的Hello World应用程序开始,并开始添加一些原始代码,直到遇到错误
我发现了我正在使用的一个模块:icu,正在使用tkinter,我需要安装Pyicu模块代替
pip直接安装到heroku bash控制台,而不是通过我的应用程序
我在网上找到的答案都对我不起作用,我想这是因为这个错误不是直接在你的应用程序中有tkinter,而是来自另一个调用它的模块。
如果有疑问,就像我做的那样,从头开始一个新项目,添加代码块,直到看到错误,看看是哪个模块创建的

yuvru6vn

yuvru6vn4#

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

相关问题