Импортировать библиотеку стандартного дистрибутива Python с использованием Brython 3.7.5 в проект Angular8 - PullRequest
0 голосов
/ 10 октября 2019

Я делаю первые эксперименты с Angular и Brython. Все начало работать, тогда, как ни странно, стандартные библиотеки Python не были распознаны. Мне любопытно узнать почему.

Это HTML-часть ( index.html в angular8):

<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>HelloWorld</title>
        <base href="/">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="icon" type="image/x-icon" href="favicon.ico">
    </head>
    <body onload = "brython()">
        <app-root></app-root>

        <script type="text/python">
            import os
        </script>
    </body>
</html>

Это сценарии, связанные в angular.json file

"scripts": [
    "src/assets/js/script.js",
    "src/assets/js/brython.js",
    "src/assets/js/brython_stdlib.js"
]

Почему, несмотря на связывание (предположительно) Python stdlib, трассировка остается:

ImportError: No module named os

Я забыл поставить что-то еще, или эта проблема неразрешима? В том смысле, что вы не можете использовать Brython в angular8?

1 Ответ

0 голосов
/ 10 октября 2019

Я подозреваю, что механизм поиска, описанный в https://brython.info/static_doc/en/faq.html, не работает:

В: Я вижу много ошибок 404 в консоли браузера при запуске скриптов Brython, почемучто?

A: это из-за того, как Brython реализует механизм импорта. Когда скрипт должен импортировать модуль X, Brython ищет файл или пакет в разных каталогах: стандартная библиотека (каталог libs для модулей Javascript, Lib для модулей Python), каталог Lib / site-packages, каталог текущей страницы,Для этого Ajax-вызовы отправляются на соответствующие URL-адреса;если файл не найден, сообщение об ошибке 404 записывается в консоли браузера, но ошибка перехватывается Brython, который продолжает поиск, пока не найдет модуль, или вызывает ImportError, если все пути были опробованы без результата

, что означает, что установка не совсем правильная. Вы проверяли консоль на наличие ошибок?

Есть страница, которая описывает ожидаемый макет ;короче говоря, правила очень похожи на правила для обычного Python.

...