gpt4 book ai didi

python - 如何使用 Brython 导入库

转载 作者:行者123 更新时间:2023-12-01 03:38:43 31 4
gpt4 key购买 nike

我希望在 Brython 中导入我自己的库。 This page of the documentation旨在展示如何通过将适当的目录添加到 python 路径,但我无法使其工作,因为我无法使 Brython 导入 sys

这是 Brython 文档第一页中最简单的示例代码:

<html>
<head>
<script src="../src/Brython3.2.8/brython.js"></script>
</head>
<body onload="brython()">
<script type="text/python">
from browser import document, alert

def echo(ev):
alert(document["zone"].value)

document['mybutton'].bind('click', echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>

效果很好。

但是如果我尝试导入 sys:

<html>
<head>
<script src="../src/Brython3.2.8/brython.js"></script>
</head>
<body onload="brython()">
<script type="text/python">
import sys
from browser import document, alert

def echo(ev):
alert(document["zone"].value)

document['mybutton'].bind('click', echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>

然后 html 将显示,但按钮不会执行任何操作。

Chrome 上的控制台显示以下错误:

brython.js:6929 XMLHttpRequest cannot load file:///C:/Users/XXXXXXXXX/XXXXXX/src/Brython3.2.8/Lib/sys.py?v=1476283159509. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
$download_module @ brython.js.6929
import_py @ brython.js.6929
exec_module @ brython.js.6929
etc etc

那么,如何在 brython 中导入 sys,和/或如何在 python 中导入我自己的库?

谢谢。

最佳答案

您需要在 html 代码中包含 brython_stdlib.js。所以你的 html 应该是这样的:

<html>
<head>
<script src="../src/Brython3.2.8/brython.js"></script>
<script src="../src/Brython3.2.8/brython_stdlib.js"></script>
</head>
<body onload="brython()">
<script type="text/python">
import sys
from browser import document, alert

def echo(ev):
alert(document["zone"].value)

document['mybutton'].bind('click', echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>

关于python - 如何使用 Brython 导入库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40001634/

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