我希望在 Brython 中导入我自己的库。文档的此页旨在展示如何通过将适当的目录添加到 python 路径,但我无法使其工作,因为我无法使 Brython import 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 中导入我自己的库?
谢谢。
您需要包含brython_stdlib.js在您的 html 代码中。所以你的 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>
| 归档时间: | 
 | 
| 查看次数: | 4717 次 | 
| 最近记录: |