我正在使用Linux服务器来设置django项目。我收到此错误:“无法创建/var/www/.matplotlib;请考虑将MPLCONFIGDIR设置为matplotlib配置数据的可写目录”

然后我发现$ MPLCONFIGDIR为空。所以我这样设置:

lab@base:~$ export MPLCONFIGDIR=~/website/graph
lab@base:~$ echo $MPLCONFIGDIR
/home/lab/website/graph


该路径是我要存储Matplotlib创建的图像的目录。
然后,我在python命令行中确保此设置:

>>> import matplotlib
>>> import os
>>> os.environ.get('MPLCONFIGDIR')
'/home/lab/website/graph'


但是,在使用mod_wsgi在Apache中部署的django项目中,上述错误仍然存​​在。我添加了以下几行:

import os
os.environ['MPLCONFIGDIR'] = "/home/lab/website/graph"
print(os.environ.get('MPLCONFIGDIR'))


它打印“无”!

谁能帮我?

谢谢。

最佳答案

导入matplotlib之前,请在代码中设置MPLCONFIGDIR。确保目录具有权限,以便应用程序可以将其写入。

import os
os.environ['MPLCONFIGDIR'] = "/home/lab/website/graph"
import matplotlib


或者,您可以将其设置为临时文件。

import os
import tempfile
os.environ['MPLCONFIGDIR'] = tempfile.mkdtemp()
import matplotlib

07-28 13:34