matplotlib在导入时需要时间
我刚刚升级到matplotlib
(1.5.1)的最新稳定版本,每次我导入matplotlib时,都会收到以下消息:
/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.')
总是停顿几秒钟
这是预期的行为? 之前是不是也一样,只是没有印刷的信息?
正如汤姆在上面的评论中所build议的,删除这些文件:
fontList.cache fontList.py3k.cache tex.cache
解决这个问题。 在我的情况下,这些文件是在:
`~/.matplotlib`
EDITED
几天前,消息再次出现,我删除了上述位置的文件没有任何成功。 我发现,正如T Mudau所build议的那样,文本caching文件的额外位置是: ~/.cache/fontconfig
确认Hugo的方法适用于Ubuntu 14.04 LTS / matplotlib 1.5.1:
- 删除〜/ .cache / matplotlib / fontList.cache
- 运行代码,再次发出警告(假设:正在重buildcaching正确)
- 再次运行代码,没有更多的警告(最后)
在OSX Yosemite(版本10.10.15)上,以下工作适用于我:
- 从这个目录中删除caching文件:〜/ .cache / fontconfig(根据tom的build议)
- 也删除了〜/ .matplotlib中的.cache文件(根据Hugo的build议)
我使用sudo运行了python代码一次,它解决了我的警告。 现在运行得更快。 没有sudo的运行根本没有警告。
干杯
我运行了Python代码w。 sudo,它治愈了它…我的猜测是,没有写这张桌子的许可…祝你好运!
你好,你必须find这个文件:font_manager.py在我的情况下:C:\ Users \ gustavo \ Anaconda3 \ Lib \网站包\ matplotlib \ font_manager.py
和FIND def win32InstalledFonts(directory = None,fontext ='ttf'),并replace为:
def win32InstalledFonts(directory = None,fontext ='ttf'):“”“在指定的字体目录中search字体,或者在没有给定的情况下使用系统目录。默认返回TrueType字体文件名列表,或者AFM字体fontext =='afm'。“”“
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
这对我工作:
sudo apt-get install libfreetype6-dev libxft-dev
- 如何在matplotlib中closuresimshow()的模糊效果?
- 改善matplotlib中的许多subplots的subplot大小/间距
- 如何从matplotlib中删除帧(pyplot.figure vs matplotlib.figure)(frameon = matplotlib中的假问题)
- Matplotlib子图的通用xlabel / ylabel
- 在matplotlib中的垂直和水平线
- 如何使用matplotlib设置所有子图的默认颜色循环?
- Matplotlib:如何设置当前的数字?
- Matplotlib使刻度标签的字体变小
- Python的networking托pipe:Numpy,Matplotlib,科学计算