【问题标题】:Why am I seeing "No module named '_tkinter" when I deploy django to heroku?为什么我在将 django 部署到 heroku 时会看到“没有名为 \'_tkinter\ 的模块”?
【发布时间】:2022-09-26 04:04:55
【问题描述】:

django 在我的本地机器上运行良好。但是,当我将它部署到 heroku 时,我看到了 \"ModuleNotFoundError\" \"No module named \'_tkinter\'\"。不过,我从未在我的代码中导入 \"_tkinter\" 或 \"tkinter\"。您的帮助将不胜感激。谢谢你。

ModuleNotFoundError 在 /

没有名为 \'_tkinter\' 的模块

请求方法:GET 请求网址:https://howididit.herokuapp.com/ Django 版本:4.0.6 异常类型:ModuleNotFoundError 异常值:

没有名为 \'_tkinter\' 的模块

异常位置:/app/.heroku/python/lib/python3.10/tkinter/在里面.py,第 37 行,在 Python 可执行文件:/app/.heroku/python/bin/python Python版本:3.10.5 蟒蛇路径:

[\'/app/.heroku/python/bin\', \'/应用程序\', \'/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\']

  • /app/home/forms.py 中,您使用from turtle import title。 turtle 是一个使用 tkinter 的 python 模块,因此出现错误。将海龟文件的名称更改为其他名称。
  • 非常感谢,现在问题已经解决了。

标签: python html django tkinter heroku


【解决方案1】:

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

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

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

sudo apt install python3-tk

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

【讨论】:

  • 我试过这个,但它没有工作。无论如何,谢谢你的时间。
  • 在 heroku 上安装它可能会解决导入错误,但程序可能仍然无法运行。 Tkinter 不是为在 Web 应用程序中运行而设计的,并且不会在没有大量工作的情况下在 Web 应用程序中运行。
  • 您是否检查了您的代码并将其推送到 GitHub? @BaboucarrBadjie。然后重新部署应该可以工作(假设您已将其从 forms.py 中删除)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

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

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

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2020-08-06
        • 2021-08-04
        • 2021-12-14
        • 2021-07-18
        • 2021-09-08
        • 2021-08-30
        • 1970-01-01
        • 1970-01-01
        • 2020-05-09
        相关资源
        最近更新 更多