Не удается импортировать внешние скрипты, использующие в IronPython DLR в браузере - PullRequest
0 голосов
/ 18 октября 2010

Я пытаюсь использовать IronPython в браузере и пытаюсь импортировать внешние скрипты 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", но не при использовании WebMatrix.Мне интересно, если это проблема с MIME-типом, настроенным для файлов .py неправильно в WebMatrix?

1 Ответ

0 голосов
/ 26 октября 2010

У меня наконец-то получилось. Это были типы MIME, которые вызвали проблему. Я использовал WebMatrix для тестирования. Я добавил файл web.config со следующим xml, чтобы решить эту проблему:

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