Matplotlib需要Ubuntu上的sudo 14.04

问题描述:

我最近转向了一台新的笔记本电脑。在安装Ubuntu 14.04 LTS和我以前的系统包含的所有软件包之后,我将所有文件从旧系统复制到新系统。Matplotlib需要Ubuntu上的sudo 14.04

每当我试图在执行具有matplotlib调用任何Python代码,我收到以下错误

File "Q1.py", line 2, in <module> 
import matplotlib.pyplot as plt 

File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 24, in <module> 
import matplotlib.colorbar 

File "/usr/lib/pymodules/python2.7/matplotlib/colorbar.py", line 29, in <module> 
import matplotlib.collections as collections 

File "/usr/lib/pymodules/python2.7/matplotlib/collections.py", line 23, in <module> 
import matplotlib.backend_bases as backend_bases 

File "/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py", line 50, in <module> 
import matplotlib.textpath as textpath 

File "/usr/lib/pymodules/python2.7/matplotlib/textpath.py", line 11, in <module> 
import matplotlib.font_manager as font_manager 

File "/usr/lib/pymodules/python2.7/matplotlib/font_manager.py", line 1356, in <module> 
_rebuild() 

File "/usr/lib/pymodules/python2.7/matplotlib/font_manager.py", line 1343, in _rebuild 
pickle_dump(fontManager, _fmcache) 

File "/usr/lib/pymodules/python2.7/matplotlib/font_manager.py", line 939, in pickle_dump 
with open(filename, 'wb') as fh: 

IOError: [Errno 2] No such file or directory: '/tmp/matplotlib-skarthikkrishna/fontList.cache' 

从我已经能够去尝试,这个问题似乎突然出现,因为代码无法访问/ tmp /用于写入它。在执行命令之前添加sudo标签时,代码运行得很好。

我很好奇为什么现在发生这种情况。我的新旧笔记本电脑上的所有软件包,尤其是pyplot软件包都是一样的。我没有错过安装任何软件包,也没有任何更新没有反映在其中一个系统中。代码在我的旧笔记本电脑中运行得很好。它拒绝没有sudo的新工作。我会很感激,如果有人可以帮助我对

的一些细节,如果它们是相关的:

两个系统上运行的Ubuntu 14.04 LTS,最后升级在12月26日,2014年

我在两个系统上运行Python 2.7.6。 [这是我的大多数课程的授权要求]

安装在两个系统上

Matplotlib版本1.3.1

编辑:

LS的输出-ld/tmp目录/是

drwxrwxrwt 4 root root 4096 Dec 27 18:45 /tmp/ 

LS -ld/TMP/matplotlib-skarthikkrishna的输出是

ls: cannot access /tmp/matplotlib-skarthikkrishna: No such file or directory 

如果所有相关的话,输出保持不变和不变。

+1

您是否检查过'/ tmp'和'/ tmp/matplotlib-skarthikkrishna'是否具有正确的读/写/执行权限?如果您将“ls -ld/tmp /'和”ls -ld/tmp/matplotlib-skarthikkrishna“的输出添加到您的问题中,可能会有所帮助。 – cel 2014-12-27 13:45:37

+2

请不要在提问Ubuntu Q&A和堆栈溢出时重复发表相同的问题。 – karel 2014-12-27 13:46:45

+1

你是怎么安装matplotlib的?通过'sudo apt-get install matplotlib'或者通过'pip install matplotlib?'? – jkalden 2014-12-27 13:47:56

这是解决方案,为我工作:

sudo rm -rf $HOME/.cache/matplotlib 

由于aberaud commented on Jul 14, 2015

我有问题,通过删除$ HOME/.cache/matplotlib这正好是固定的,由root拥有。