के साथ matplotlib का उपयोग कर त्रुटि। मैक ओएस एक्स 10.7.5 पर अपाचे के माध्यम से एक Django ऐप में matplotlib का उपयोग कर रहा हूं, लेकिन मैं इसे मेरे लिए एक आकृति प्लॉट नहीं कर सकता। मैं आयात matplotlib.pyplot as plt
, और मेरे विचार में लाइन आयात कर लें,setugid() apache और django
plt.plot(x, y)
(x
और y
NumPy सरणी हैं) त्रुटि
2013-01-23 16:39:16.731 httpd[381:203] The application with bundle ID (null) is running setugid(), which is not allowed.
मेरी अपाचे error_log में
खड़ी कर रहा है। मुझे डर है कि मुझे नहीं पता कि setugid()
क्या है, या इसे मेरे ऐप के लिए चलाने की अनुमति कैसे है। मेरा $MPLCONFIGDIR
/tmp/.mplconfig
पर सेट किया गया है और अपाचे के रूप में उपयोगकर्ता _www ने कुछ खाली निर्देशिकाएं लिखी हैं, इसलिए यह ठीक काम कर रहा है। क्या कोई मुझे एक सुराग दे सकता है?
अद्यतन: अगर मैं
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
और एक आंकड़ा है, subplot और कुल्हाड़ियों (पूरे ताम-झाम) की स्थापना, मैं() एक त्रुटि ... क्या अतिरिक्त अनुमतियों की जरूरत pyplot है बिना savefig कर सकते हैं?
अधिक जानकारी [यहां] (https://blogs.oracle.com/dns/entry/understanding_the_authorization_framework_on)। ऐसा लगता है कि ओएस एक्स पर एक सुरक्षा सेटिंग इसे रोक रही है, और त्वरित फिक्स रूट के रूप में अपाचे को चलाने के लिए प्रतीत होता है। – tiago
उत्तर टियागो के लिए धन्यवाद। रूट पूरी तरह बुद्धिमान के रूप में apache चल रहा है, हालांकि? – xnx
लिनक्स/यूनिक्स अपाचे में आमतौर पर रूट के रूप में शुरू किया जाता है लेकिन उपयोगकर्ता 'कोई नहीं' के रूप में चलता है। यदि यह बुद्धिमान है या नहीं, तो मुझे आपके विशेष मामले में नहीं पता है। – tiago