Heroku Python3.5导入错误:没有名为='_特金特';

Heroku Python3.5导入错误:没有名为='_特金特';,python,python-3.x,heroku,python-3.5,Python,Python 3.x,Heroku,Python 3.5,在Heroku中部署并添加自定义构建包(如libspatialindex)时,Python 3.5现在查找Tkinter时发生了另一个错误 在本地,通过使用sudo-apt-get-tk-dev进行安装,这将得到解决,并尝试使用类似问题的建议:,错误仍然存在 以下是我的构建包: https://github.com/heroku/heroku-buildpack-apt heroku/python https://github.com/julienfr112/libspatialindex-b

在Heroku中部署并添加自定义构建包(如libspatialindex)时,Python 3.5现在查找Tkinter时发生了另一个错误

在本地,通过使用
sudo-apt-get-tk-dev
进行安装,这将得到解决,并尝试使用类似问题的建议:,错误仍然存在

以下是我的构建包:

https://github.com/heroku/heroku-buildpack-apt 
heroku/python
https://github.com/julienfr112/libspatialindex-buildpack.git
而我的Aptfile仅包含:

python3-tk
libpq-dev
build-essential
libncursesw5-dev
libreadline5-dev
libssl-dev
libgdbm-dev
libc6-dev
libsqlite3-dev tk-dev
libbz2-dev
在Heroku push上,这是日志的尾部:

2017-09-05T08:25:58.903075+00:00 app[web.1]:   File "/app/.heroku
/python/lib/python3.5/site-packages/six.py", line 82, in _import_module
2017-09-05T08:25:58.903076+00:00 app[web.1]:     __import__(name)
2017-09-05T08:25:58.903076+00:00 app[web.1]:   File "/app/.heroku
/python/lib/python3.5/tkinter/__init__.py", line 35, in <module>
2017-09-05T08:25:58.903076+00:00 app[web.1]:     import _tkinter 
# If this fails your Python may not be configured for Tk
2017-09-05T08:25:58.903077+00:00 app[web.1]: ImportError: No module
named '_tkinter'
2017-09-05T08:25:58.903075+00:00应用程序[web.1]:文件“/app/.heroku
/python/lib/python3.5/site packages/six.py”,第82行,在导入模块中
2017-09-05T08:25:58.903076+00:00应用程序[网站1]:_导入__(名称)
2017-09-05T08:25:58.903076+00:00应用程序[web.1]:文件“/app/.heroku
/python/lib/python3.5/tkinter/_init__.py”,第35行,在
2017-09-05T08:25:58.903076+00:00应用程序[网站1]:导入
#如果失败,您的Python可能无法配置为Tk
2017-09-05T08:25:58.903077+00:00应用程序[网站1]:导入错误:无模块
名为“\u tkinter”

有什么想法吗?

将matplotlib后端从tkinter更改为其他版本。在课程开始时,请执行以下操作:

import matplotlib
matplotlib.use('Agg')
这样,程序的其余部分将使用您设置的后端(“Agg”、“SVG”等)


另一种选择是,当您推到Heroku时,尝试按照以下步骤处理matplotlibrc文件:

,您在生成输出中是否看到类似于
apt
活动的内容?@Chris yes日志似乎在运行并安装aptfile中包含的文件。根据您链接到的问题中接受的答案:“不幸的是,此Aptfile没有相同的依赖项解析,因此您必须手动指定任何其他包。“您是否也安装了Tk本身?我不确定还有哪些依赖关系可能存在…@chrisby tk本身tk dev?到目前为止,我的aptfile包含以下内容:python3-tk-libpq-dev-build-sential-libncursesw5-dev-libreadline5-dev-libssl-dev-libgdbm-dev-libc6-dev-libsqlite3-dev-tk-dev-libbz2-devI不知道需要什么。这就是为什么我添加了一条评论而不是答案。我对上面引用的这句话有些困惑,因为有依赖解析的apt比没有依赖解析的apt有用得多。我希望看到Heroku相应地增强构建包。