У меня есть программа на Python, которая начинается с:
from optparse import OptionParser
import math
#import wx
import os
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
from numpy import *
import scipy as scipy
from scipy import *
from scipy import constants
import scipy.signal as signal
import matplotlib.pyplot as plt
Это дает мне ошибку, когда я пытаюсь открыть его с помощью php.
Я гуглил и, по-видимому, если я сделаю это перед импортом pylab или pyplot:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
Проблема должна быть решена. Но ошибка, которую я получаю:
/usr/lib/pymodules/python2.7/matplotlib/__init__.py:923: UserWarning: This call to matplotlib.use() has no effect
because the the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time
Есть идеи, что происходит?
Бэкэнд по умолчанию указан в matplotlibrc
файл — вы можете попробовать изменить его там.
Также может случиться так, что в любой среде, в которой вы работаете с python, уже может быть импортирован matplotlib и указан бэкэнд как часть конфигурации. Также, немного пост предлагает следующую строку:
os.environ[ 'MPLCONFIGDIR' ] = '/tmp/'
Других решений пока нет …