【问题标题】:import matplotlib failing with No module named _tkinter on heroku导入 matplotlib 失败,在 heroku 上没有名为 _tkinter 的模块
【发布时间】:2017-05-10 04:48:46
【问题描述】:

我正在尝试在我的应用程序中使用matplotlib。我在python2.7中创建了一个virtualenv,pip安装了matplotlib,在本地成功运行。

但是,当我将应用程序部署到 heroku(在 pip freeze 和其他必要步骤之后)时,我的应用程序崩溃了。当我检查日志时,我看到以下内容:

import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter

这很奇怪,因为应用程序在 venv 下成功运行在本地。 heroku python 环境是否未配置为运行matplotlib?如果是这样,我应该采取哪些步骤来启用它?

【问题讨论】:

    标签: python heroku matplotlib tkinter


    【解决方案1】:

    这应该可以解决问题

    matplotlib.use('Agg')
    import matplotlib.pyplot as plt
    

    这会将您的 Matplotlib backend 设置为使用 Agg 而不是 Tk。至少对我有用:-)

    【讨论】:

    • 为了正确起见,import matplotlib 先于其他。
    • 另外,您需要确保将此行放在任何其他可能也导入 matplotlib 的包之前,例如 skimage
    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2021-10-03
    • 2017-10-29
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多