我想在html代码中实现pyscript,例如我想生成图表输出,下面是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>my first pyscript</title>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
    -numpy
    -matplotlib
</py-env>
</head>
<body>
<p id="text"></p>
<div id="plot"></div>
<py-script output ="plot">
        import matplotlib.pyplot as plt
        import numpy as np
        x =np.arange(10,20,0.001)
        y =3*x+2
        fig,ax =plt.subplots()
        ax.scatter(x,y)
        fig
<!--    print("hello world")-->
<!--    x =0-->
<!--    pyscript.write("text",x+1)-->

</py-script>
</body>
</html>

但是当我运行代码时,我得到以下错误:

JsException(PythonError: Traceback (most recent call last): File "/lib/python3.10/site-packages/_pyodide/_base.py", line 421, in eval_code CodeRunner( File "/lib/python3.10/site-packages/_pyodide/_base.py", line 237, in __init__ self.ast = next(self._gen) File "/lib/python3.10/site-packages/_pyodide/_base.py", line 141, in _parse_and_compile_gen mod = compile(source, filename, mode, flags | ast.PyCF_ONLY_AST) File "", line 2 import numpy as np IndentationError: unexpected indent )

我不知道html中的pyscript需要缩进,但是这个缩进错误在哪里呢?

推荐答案

PyScript的alpha版本已经快2年了——从那时起,PyScript已经走了很长的路!截至2024年4月的最新版本是2024.3.2.

特别是,在PyScript 2023.11.1以及PyScript 2023.12.1和.2的大重写中,很多缩进问题都得到了修复.

您可以看到getting started guide,以了解如何开始使用当代PyScript.与此同时,以下是您为最新风格/API改编的原始代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>my first pyscript</title>
    <link rel="stylesheet" href="https://pyscript.net/releases/2024.3.2/core.css" />
    <script type="module" src="https://pyscript.net/releases/2024.3.2/core.js"></script>
<py-config>
    packages = ['numpy', 'matplotlib']
</py-config>
</head>
<body>
<p id="text"></p>
<div id="plot"></div>
<script type="py">
    from pyscript import display
    import matplotlib.pyplot as plt
    import numpy as np
    x =np.arange(10,20,0.001)
    y =3*x+2
    fig,ax =plt.subplots()
    ax.scatter(x,y)
    display(fig)
</script>
</body>
</html>

Python相关问答推荐

使用pandas、matplotlib和Yearbox绘制时显示错误的年份

列表上值总和最多为K(以O(log n))的最大元素数

如何在图片中找到这个化学测试条?OpenCV精明边缘检测不会绘制边界框

使用SciPy进行曲线匹配未能给出正确的匹配

我在使用fill_between()将最大和最小带应用到我的图表中时遇到问题

点到面的Y距离

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

优化pytorch函数以消除for循环

我对我应该做什么以及我如何做感到困惑'

将输入聚合到统一词典中

如何从列表框中 Select 而不出错?

如何在Python请求中组合多个适配器?

Beautifulsoup:遍历一个列表,从a到z,并解析数据,以便将其存储在pdf中.

从一个df列提取单词,分配给另一个列

查看pandas字符列是否在字符串列中

Pandas 数据帧中的枚举,不能在枚举列上执行GROUP BY吗?

如何使用pytest在traceback中找到特定的异常

类型对象';敌人';没有属性';损害';

使用xlsxWriter在EXCEL中为数据帧的各行上色