我在通過Apache在Mac OS X 10.7.5服務的Django應用程序中使用matplotlib,但我無法讓它爲我繪製一個數字。我已經導入進口matplotlib.pyplot as plt
,並在我看來,線,setugid()錯誤使用matplotlib與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.
在我的Apache的error_log
。恐怕我不知道setugid()
是什麼,或者如何讓它運行它允許我的應用程序。 我$MPLCONFIGDIR
設置爲/tmp/.mplconfig
和Apache作爲用戶_www已經寫了幾個空目錄,所以這似乎工作正常。 任何人都可以給我一個線索嗎?
更新:如果我
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
,併成立了一個人物,次要情節和軸(整一堆),我可以savefig()沒有一個錯誤...沒有pyplot需要什麼額外的權限?
更多信息[here](https://blogs.oracle.com/dns/entry/understanding_the_authorization_framework_on)。似乎OS X上的安全設置阻止了它,並且快速修復似乎是以root身份運行apache。 – tiago
感謝您的回覆tiago。雖然以root身份完全明智地運行apache? – xnx
在Linux/Unix中,apache通常以root身份啓動,但是以'nobody'用戶身份運行。我不知道你的具體情況是否明智。 – tiago