Пытаюсь подключить Python к HTML с помощью eel.Всё сделал правильно, и по уроку , и по документации.Но когда запускаю приложение,написано что Сайт localhost не позволяет установить соединение.
Python
import eel
eel.init("static")
@eel.expose
def say_hello_from_js(x):
print(f"Hello from {x}")
eel.say_hello_from_python("Python!")
eel.start("index.html", size=(500, 500))
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>Eello World!</h1>
<p>Congrats, Eel seems to work fine</p>
<script src="/eel.js"></script>
<script src="/script.js"></script>
</body>
</html>
js
eel.say_hello_from_js("Javascript!");
eel.expose(say_hello_from_python)
function say_hello_from_python(x){
console.log("Hello from {}".replace("{}", x))
}
Describe the problem
I install last version of eel. write few line of code and start project. cant import eel. I have issue with importing eel. I have Python3.8.5 version on my Windows PC.
text from my CMD
import eel
ModuleNotFoundError: No module named ‘eel’
there is my code
import eel
import pyowm
city = «Batumi, Georgia»
owm = pyowm.OWM(«b74a1f6f227b9d3e307f8eeef5f776c4»)
mgr = owm.weather_manager()
observation = mgr.weather_at_place(city)
w = observation.weather
temp = w.temperature(«celsius»)[«temp»]
print(«In » + city + «right now is » + stp(temp) + «temperature»)
Code snippet(s)
- I know that if I don’t provide sample code that allows someone to quickly step into my shoes, I may not get the help I want or my issue may be closed.
Desktop (please complete the following information):
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
Smartphone (please complete the following information):
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
Библиотека eel является инструментом, который позволяет создавать графический пользовательский интерфейс (GUI) для приложений Python, используя веб-технологии, такие как HTML, CSS и JavaScript. Eel обеспечивает взаимодействие между Python кодом и веб-интерфейсом, что делает создание приложений более простым и эффективным.
Однако при разработке с использованием библиотеки eel могут возникать ошибки, с которыми необходимо разобраться. В этой статье мы рассмотрим некоторые распространенные ошибки и способы их устранения.
1. Ошибка «Failed to open page»
«Failed to open page» представляет собой ошибку, которая может возникнуть при запуске приложения с использованием eel. Она часто связана с некорректными путями к файлам веб-интерфейса или неправильно указанным URL-адресом. Возможные причины и решения:
- Проверьте путь к файлу index.html или другому основному файлу веб-интерфейса. Убедитесь, что путь указан правильно и фактически существует.
- Проверьте URL-адрес, указанный при инициализации eel. Убедитесь, что URL-адрес указывает на корректный файл веб-интерфейса или на папку, содержащую этот файл.
2. Ошибка «NameError: name ‘eel’ is not defined»
Эта ошибка указывает на то, что Python не распознает функцию eel или что библиотека eel не была импортирована в код. Возможные причины и решения:
- Убедитесь, что библиотека eel установлена. Вы можете установить ее с использованием пакетного менеджера pip командой
pip install eel
. - Убедитесь, что вы правильно импортировали библиотеку eel в свой код. Добавьте строку
import eel
в начало вашего Python-скрипта.
3. Ошибка «No module named ‘cefpython3′»
«cefpython3» — это зависимость библиотеки eel, и ошибка «No module named ‘cefpython3′» указывает на то, что библиотека cefpython3 не была установлена или не может быть найдена. Возможные причины и решения:
- Устраните эту ошибку, выполните установку библиотеки cefpython3, следуя инструкциям в официальной документации eel.
- Убедитесь, что библиотека cefpython3 была правильно установлена и доступна для Python.
4. Ошибка «eel is not a function»
Эта ошибка может возникнуть, если не указаны все необходимые аргументы при вызове функции eel. Возможные причины и решения:
- Убедитесь, что вы вызываете функцию eel с правильными аргументами. У функции eel есть несколько обязательных аргументов, включая путь к файлу веб-интерфейса и название функции, которую нужно вызвать из веб-интерфейса.
5. Ошибка «eel is not defined»
«eel is not defined» указывает на то, что переменная eel не определена или присвоена. Возможные причины и решения:
- Убедитесь, что вы правильно импортировали библиотеку eel. Добавьте строку
import eel
в начало вашего Python-скрипта. - Убедитесь, что переменная eel определена и присвоена перед ее использованием. Например, вы можете использовать выражение
eel.init('web')
для инициализации библиотеки eel.
Это некоторые распространенные ошибки, с которыми вы можете столкнуться при использовании библиотеки eel. Следуя указанным решениям, вы сможете устранить эти ошибки и продолжить разработку своего приложения.
Здравствуйте, попробовал сделать свое приложение для пк, но к сожалению eel выдает 404 ошибку.
В чем может быть проблема?
архитектура такая:
-main.py
-web
—css
—main.css
—font
—img
—favicon.png
—js
—eel.js
—script.js
—script-pixel.js
—main.html
main.html
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Страница 1</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device=width, initial-scale=1.0"> <!-- для моб. девайсов -->
<meta name="description" content="">
<meta name="keywords" content="">
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.png"> <!-- фавиконка -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.css">
<link rel="stylesheet" href="css/main.css"> <!-- CSS -->
</head>
<body>
<!-- Модульное окно -->
<!-- <div class="modal_window close_modal" data-modal="modal_1">
<div class="modal_close"></div>
<div class="modal_content">
<span>✕</span>
контент 1
</div>
</div> -->
<!-- кнопка модалки -->
<!-- <div class="modal_btn" data-modal="modal_1">btn</div> -->
<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
<!-- Слайдер -->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<!-- Маска телефона -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js" integrity="sha256-+4KHeBj6I8jAKAU8xXRMXXlH+sqCvVCoK5GAFkmb+2I=" crossorigin="anonymous"></script>
<!-- Галерея -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
<!-- eel -->
<script src="js/eel.js"></script>
<script src="js/script.js"></script>
<!-- <script src="js/script-pixel.js"></script> -->
<!-- <script>
$(function(){
$.pixlayout({
src: "/Швейцария2.0.png",
opacity: 0.3,
top: 0,
center: true,
left: 0,
right: 0,
pervious: true,
clip: true,
show: true
}, "body");
});
</script> -->
</body>
</html>
main.py
import eel
eel.init('web')
eel.start('main.html', size = (400, 300))
Ошибка:
Дополню вопрос таким скриншотом:
The best encountered problem, because I am doing Virtualenv under Pycharm
No module named 'gevent.__hub_local'
Package problem
Show can't be found
C:XXXX/temp/xxxx/eel/eel.js
So open the EEL package under Python
Under the file
__init__.py 17th line
#_eel_js_file = pkg.resource_filename('eel', 'eel.js')
#_eel_js = open(_eel_js_file, encoding='utf-8').read()
Comment
New addition
eel_js=eelJS.eelJS
Import EELJS module above
I have built a Python file in the EEL module, the name is EELJS, the file content is the content in the EL.JS file.
Later, I wanted to remove the compiled software removed the console. I saw the online static file directory of the Python -M EL PY script file Web static file directory. I didn’t know the principle of the package, and later opened the EEL module.
__main__.py file
from __future__ import print_function
import sys
import pkg_resources as pkg
import PyInstaller.__main__ as pyi
import os
args = sys.argv[1:]
main_script = args.pop(0)
web_folder = args.pop(0)
print("Building executable with main script '%s' and web folder '%s'...\n" %
(main_script, web_folder))
eel_js_file = pkg.resource_filename('eel', 'eel.js')
js_file_arg = '%s%seel' % (eel_js_file, os.pathsep)
web_folder_arg = '%s%s%s' % (web_folder, os.pathsep, web_folder)
needed_args = ['--hidden-import', 'bottle_websocket',
'--add-data', js_file_arg, '--add-data', web_folder_arg]
full_args = [main_script] + needed_args + args
print('Running:\npyinstaller', ' '.join(full_args), '\n')
pyi.run(full_args)
The bottom layer is also Pyinstaller, so there is the following command, write the required commands directly behind
I need to pack the Pyton file is document.py to add a package that needs to be packaged. Web
python -m eel document.py web -Fw -i web/images/ico.ico