gpt4 book ai didi

python - 在 Python 3 CGI 中使用 matplotlib

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:15 30 4
gpt4 key购买 nike

我一直在尝试在 CGI 脚本上运行 matplotlib,但收效甚微。我使用的是Python3.5。

我在网上找到的大多数引用资料都显示了 Python2.x 的功能。

#!/usr/bin/python
import os,sys
import cgi
import cgitb
cgitb.enable()

import matplotlib
import matplotlib.pyplot as plt
import pylab

matplotlib.use('Agg')

plt.figure()
plt.plot([1,2,3])

import io
imgData = io.BytesIO()

pylab.savefig(imgData, format='png')

imgData.seek(0)

print("Content-type: image/png")
print()

print(imgData.read())

我在 Arch Linux 上运行 Apache 2.4.18,出现以下错误:

The server encountered an internal error and was unable to complete your request.

Error message:
End of script output before headers: index.py

If you think this is a server error, please contact the webmaster.

我的脚本拥有执行所需的所有权限。

任何帮助将不胜感激。

更新:我将 matplotlib.use('Agg') 移到 import matplotlib 的正下方,现在它克服了服务器 header 错误。后端已提前声明,因此上述声明无效。但是,现在我收到错误:

The image 'http://localhost' cannot be displayed since it contains errors.

如何正确渲染图像?

最佳答案

解决了我的问题。

以下对我有用:

#!/usr/bin/python
import os,sys
import cgi
import cgitb
cgitb.enable()

import matplotlib
matplotlib.use('Agg')

os.environ['HOME'] = '/tmp'

import matplotlib.pyplot as plt

plt.plot([1,2,3])

print("Content-type: image/png")
print()

plt.savefig(sys.stdout, format='png')

关于python - 在 Python 3 CGI 中使用 matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34732868/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com