我无法找到使用在 PythonAnywhere 上运行的散景和散景小部件的交互式 Web 应用程序的最小工作示例。

理想情况下,我想要一个相对复杂的函数的简单图(我不知道分析,但我有 SymPy 为我计算)应该在参数更改时重新绘制。

到目前为止我发现的所有代码都没有这样做,例如https://github.com/bokeh/bokeh/tree/master/examples ,或指散景的过时版本。

大多数文档都涉及运行散景服务器,但没有说明如何使用 WSGI 运行它(这就是 PythonAnywhere 处理请求的方式)。出于这个原因,我尝试在 Flask 应用程序中嵌入散景图。但是,据我所知,为了拥有交互式散景小部件(应该在 Python 中触发一些计算)确实需要散景服务器。如果我可以使用其他一些更简单的工具获得类似的结果,我并不特别喜欢使用 Flask 或 Bokeh。不幸的是,带有交互式小部件的 Jupyter 笔记本似乎不是 PythonAnywhere 中的一个选项。

我已经在 Python 3.5 上安装了 bokeh 0.12。

我设法在 flask 应用程序中运行了一个简单的散景图,但我无法使用散景小部件。

最佳答案

这是在 pythonanywhere 上带有交互式小部件的 Jupyter 笔记本的工作示例:

%pylab inline
import matplotlib.pyplot as plt
from ipywidgets import interact

def plot_power_function(k):
    xs = range(50)
    dynamic_ys = [x ** k for x in xs]
    plt.plot(xs, dynamic_ys)

interact(plot_power_function, k=[1, 5, 0.5])

PythonAnywhere 确实预装了 ipywidgets 模块。但是,如果您没有看到交互式小部件,请确保您已从 bash 控制台运行 jupyter nbextension enable --py widgetsnbextension 以便为您的笔记本启用它。启用此扩展后,您必须重新启动 jupyter 服务器(通过从 pythonanywhere 仪表板上的运行进程列表中的控制台终止相关的 jupyter 进程)。

关于python - 散景 + 交互式小部件 + PythonAnywhere,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38893389/

10-11 06:48