Итак, будучи большим поклонником Python, я нашел Brython, который может помочь мне в создании более всеобъемлющего GUI на основе Интернета (у меня sh).
Я нашел демонстрацию часов, которая Решил попробовать локально. Он состоит из двух файлов:
- Файл html
- Код python часов
Вот часы. html файл:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript"
src="/brython.js">
src="/brython_stdlib.js">
</script>
<script src="clock.py" type="text/python3"></script>
</head>
<body onload="brython();">
</body>
</html>
И файл clock.py , который здесь только частичный (его можно найти на Brython.info, перейдите по ссылке, чтобы получить полный код):
import time
import math
import datetime
from browser import document as doc
import browser.timer
sin, cos = math.sin, math.cos
...
show_hours()
set_clock()
Затем я ввел команды:
mkdir js
cd js
python -m brython --install
Наконец, я построил мини-сервер для обслуживания моих файлов:
mini_server.py:
from flask import Flask, send_from_directory
app = Flask(__name__, static_folder='.')
@app.route('/')
def example():
return app.send_static_file('clock.html')
@app.route('/<name>.js')
def js_files(name):
return app.send_static_file('js/' + name + '.js')
@app.route('/<path:path>')
def all_files(path):
return app.send_static_file(path)
if __name__ == '__main__':
app.debug=True
app.run()
Итак Я получаю эту структуру:
clock.html
clock.py
mini_server.py
js/brython.js
js/brython_stdlib.js
Теперь моя проблема в том, что при запуске моего сервера и go на http://127.0.0.1: 5000 / часы. html Я получаю:
Error 404 means that Python module time was not found at url http://127.0.0.1:5000/time.py
Хорошо, я думал, что это будет просто решить, но, глядя на документацию, я нашел только один способ решить:
python -m brython --add_package time
Но это выдает:
add package time...
Traceback (most recent call last):
File "C:\Program Files\Python36\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Program Files\Python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files\Python36\lib\site-packages\brython\__main__.py", line 142, in <module>
main()
File "C:\Program Files\Python36\lib\site-packages\brython\__main__.py", line 48, in main
package_file = package.__file__
AttributeError: module 'time' has no attribute '__file__'
В чем проблема? Как или где мне получить пакеты времени, математики и даты и времени?
Кажется простым, но теперь я отчаянно нуждаюсь в решении.