无法在浏览器中使用IronPython DLR导入外部脚本

时间:2010-10-18 15:26:56

标签: silverlight ironpython dynamic-language-runtime

我正在尝试使用IronPython in the browser并尝试导入外部python脚本:

<script src="http://gestalt.ironpython.net/dlr-latest.js" type="text/javascript">
</script>
...
<script type="application/python" src="test.py" defer="true"></script>
<script type="application/python">
import test
test.Hello()
</script>

import语句似乎成功运行(如果test.py不存在,则会失败)。但是,它似乎没有加载文件的内容。 test.py包含以下代码:

document.testing1.innerHTML = 'Hello from test.py'

def Hello():
   window.Alert('Hello from test.py')

事实上,它似乎与test.py中的内容没有任何区别。它不会因语法错误而抱怨。

在IronPython控制台中,您可以从浏览器中访问,同样的问题发生:

>>> import test
>>> dir(test)
['__builtins__', '__doc__', '__file__', '__name__', '__package__']
>>> test.Hello()
Traceback (most recent call last):
  at <module> in <string>, line 1
  at <module> in <string>, line 0
AttributeError: 'module' object has no attribute 'Hello'

我做错了什么?

更新:它适用于新的IronPython 2.7 beta 1 VS2010集成,它启动了“Chiron”测试Web服务器,但不是在我使用WebMatrix时。我想知道在WebMatrix上为.py文件配置的mime类型是否存在问题?

1 个答案:

答案 0 :(得分:0)

我终于搞定了。导致问题的是MIME类型。我正在使用WebMatrix进行测试。我添加了一个带有以下xml的web.config文件来解决问题:

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".py" mimeType="text/python" />
        </staticContent>
    </system.webServer>
</configuration>