2

我有这个代码:

<script type="text/python" src="https://cdn.jcubic.pl/StringIO.py"></script>
<script type="text/python">
f = StringIO()
</script>

(StringIO 来自https://svn.python.org/projects/python/trunk/Lib/StringIO.py被删除__main__,因为它被执行)

并得到错误:

Traceback (most recent call last):
NameError: name 'StringIO' is not defined

如何从 URL 导入 python 库?有办法吗?

UPDATE发现在 Python 3 和 BrythonStringIOio模块中,但我仍然想知道如果可能的话如何从 url 导入模块。

4

1 回答 1

2

您需要将其放入服务器端brython/Lib/site-packages目录。它自然需要是纯python。

另请注意,您应该能够使用pythonpath设置修改 sys.path 搜索目录:

<body onload="brython(
        debug:1, 
        pythonpath:['http://example.com/brython/Lib/', 'http://e... ]
      )" 
>

因此请注意,路径实际上是模块路径的完整 URL。我花了一些时间才弄清楚,因为文档目前在 2018-03-20 brython-3.4.0)没有给出一个例子。

另请注意,触摸 pythonpath 值会覆盖默认值,您还需要包含它们。据我了解,这些是当前的 Apache PATH_INFO 环境值,即当前加载的路径和 brython 源代码树 Lib/site-packages。

于 2018-03-20T15:00:23.730 回答