我正在尝试在我的应用程序中使用import requests
from bs4 import BeautifulSoup
import pandas as pd
response = requests.get("https://en.wikipedia.org/wiki/List_of_cities_by_GDP")
soup = BeautifulSoup(response.content, "html.parser")
table = soup.select_one("table.wikitable")
for span in table.select("span.sortkey"):
span.decompose()
df = pd.read_html(str(table))[0]
print(df)
。我在python2.7中创建了一个virtualenv,pip安装了matplotlib,它在本地运行成功。
但是,当我将应用部署到matplotlib
时(在heroku
之后和其他必要步骤之后),我的应用崩溃了。当我检查日志时,我看到以下内容:
pip freeze
这很奇怪,因为该应用程序成功运行在本地的venv下。 heroku python环境未配置为运行import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
吗?如果是这样,我应采取什么步骤来实现这一目标?
答案 0 :(得分:11)
这应该可以解决问题
matplotlib.use('Agg')
import matplotlib.pyplot as plt
这会将Matplotlib backend设置为使用Agg而不是Tk。至少为我工作: - )