我刚刚升级到/usr/local/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')
(1.5.1)的最新稳定版本,每次导入matplotlib时都收到此消息:
<c:forEach var="row" items="${EFTresults}">
<jsp:useBean id="row" scope="page" type="the.path.to.the.package" />
<tr>
<td><%= row.getSCHEDULE_NUMBER %></td>
...
</tr>
</c:forEach>
...总是停顿几秒钟。
这是预期的行为吗?之前是否也一样,但是没有印刷的信息?
答案 0 :(得分:115)
正如Tom在上面的评论中所建议的,删除文件:
fontList.cache
fontList.py3k.cache
tex.cache
解决问题。
在我的情况下,文件在:
`~/.matplotlib`
EDITED
几天前,该消息再次出现,我删除了上述位置的文件,但没有成功。我发现按照here的建议T Mudau,有一个带文本缓存文件的额外位置是:~/.cache/fontconfig
答案 1 :(得分:25)
确认Hugo的方法适用于Ubuntu 14.04 LTS / matplotlib 1.5.1:
答案 2 :(得分:12)
在OSX Yosemite(版本10.10.15)上,以下内容对我有用:
rm -rvf ~/.cache/fontconfig/*
rm -rvf ~/.matplotlib/*
答案 3 :(得分:8)
我使用sudo运行了一次python代码,它解决了我的警告。 现在它运行得更快。没有sudo运行根本不会发出警告。
干杯
答案 4 :(得分:2)
我运行了python代码w。 sudo,它治愈了......我的猜测是没有许可写那张桌子......祝你好运!
答案 5 :(得分:0)
你必须找到这个文件:font_manager.py在我的情况下:C:\ Users \ gustavo \ Anaconda3 \ Lib \ site-packages \ matplotlib \ font_manager.py
和FIND def win32InstalledFonts(directory = None,fontext =&#39; ttf&#39;)并替换为:
def win32InstalledFonts(directory = None,fontext =&#39; ttf&#39;): &#34;&#34;&#34; 在指定的字体目录中搜索字体,或使用 系统目录,如果没有给出。 TrueType字体列表 默认情况下返回文件名,如果 fontext ==,则返回AFM字体 &#39; AFM&#39 ;. &#34;&#34;&#34;
from six.moves import winreg
if directory is None:
directory = win32FontDirectory()
fontext = get_fontext_synonyms(fontext)
key, items = None, {}
for fontdir in MSFontDirectories:
try:
local = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, fontdir)
except OSError:
continue
if not local:
return list_fonts(directory, fontext)
try:
for j in range(winreg.QueryInfoKey(local)[1]):
try:
key, direc, any = winreg.EnumValue(local, j)
if not is_string_like(direc):
continue
if not os.path.dirname(direc):
direc = os.path.join(directory, direc)
direc = direc.split('\0', 1)[0]
if os.path.splitext(direc)[1][1:] in fontext:
items[direc] = 1
except EnvironmentError:
continue
except WindowsError:
continue
except MemoryError:
continue
return list(six.iterkeys(items))
finally:
winreg.CloseKey(local)
return None
答案 6 :(得分:0)
这对我来说非常适合我在Ubuntu 16.04 LST Python 3.5.2 | Anaconda 4.2.0(64位)。我删除了~/.cache/matplotlib/
中的所有文件。
sudo rm -r fontList.py3k.cache tex.cache
起初我觉得它不会起作用,因为之后我收到了警告。但是在重建缓存文件之后,警告就消失了。因此,关闭您的文件,然后重新打开(再次打开),它没有警告。
答案 7 :(得分:-1)
这对我有用:
sudo apt-get install libfreetype6-dev libxft-dev