我用Python编写了一个程序,使用matplotlib
和tkinter
绘制一些图表
我想在我的网页上显示该程序以供免费使用。
如何让这个Python程序在网页上运行?
答案 0 :(得分:2)
如果您对使用网络框架瓶子感兴趣,请查看this,从讨论如何创建graph on-the-fly using matplotlib in flask.
我建议将图像存储在亚马逊s3服务的某个地方。这样,图像将很容易从会话到会话访问。所以从上面的线程链接修改代码......
将对象作为png返回:
from matplotlib.pyplot import figure
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
import StringIO
def create_a_graph()
fig = figure(figsize=a_size_integer,a_size_integer))
canvas = FigureCanvas(fig)
canvas.print_png(png_output)
return png_output
然后使用boto将它们上传到amazons s3网站,并在您选择的框架上显示它们。
我正在研究current project就是这样。看看文件:graph.py,tools.py,views.py和base.html。当然这需要了解boto,flask和matplotlib,但至少它会给你一个起点。
答案 1 :(得分:2)
您应该查看mod_wsgi以及python社区中存在的众多网络软件包之一,或构建您自己的软件包。
但你还需要了解tkinter是一个gui-library,它不会从网络上运行,听起来就像你想要的那样。但是你可以为你的代码构建一个web接口,如果表示逻辑与应用程序逻辑完全分离,那么这应该不会很难。这就是说,如果你是一般的编程或特别是网络编程的新手,这绝对不是一件容易的事。
答案 2 :(得分:2)
看看Flask作为制作网络应用程序的轻量级框架,然后有一条路线:
@app.route("/graph/<input>")
def drawGraph(input):
# Graph drawing code goes here.
image = # The image file as a string, as if you'd read it in from a file
# object
return Request(image, mimetype="image/png")
然后在模板中,您可以使用/graph/
网址获取相应输入的图表,并将其呈现在<img>
代码中。
答案 3 :(得分:1)