Я поиграл с модулем eel
для Python - дает возможность запускать HTML + CSS/JS с функциональностью python.
Сделал простую программу, попытался сделать из нее исполняемый файл через PyInstaller. Никаких ошибок, но при запуске этого исполняемого файла он вылетает в первой строке - import eel
, говоря - there is no module called 'bottle-websocket'
.
Я проверил pip
: eel
, bottle-websocket
установлены. Не могу понять, в чем проблема. Вложения:
main.py:
import eel
from os import path
eel.init(path.dirname(__file__) + "/web")
eel.start('main.html', block=False)
while True:
eel.sleep(10)
Ошибка:
Картинка с ошибкой при попытке запустить exe
РЕДАКТИРОВАТЬ: PyInstaller Log
У меня ушёл целый день на выяснение решения, но, наконец, вот оно:
1) Скопируйте файлы plugin.py, server.py из C:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python36-32\lib\site-packages\bottle_websocket в C:\Users * YOUR_USERNAME *\AppData\Local\Programs\Python\Python36-32\Lib 2) Убедитесь, что в вашем файле.spec, созданном PyInstaller (FOR PYTHON 3.6 32bit), есть следующая строка:
datas = [('C:\Users\YOUR_USERNAME *\AppData\Local\Programs\Python\Python36-32\lib\site-packages\eel\eel.js', 'eel'), ('PATH_TO_YOUR_WEB_FOLDER', 'YOUR_WEB_FOLDER_NAME ")]
3) Запустите эту команду в cmd:
python C:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python36-32\lib\site-packages\eel\__ main__.py HERE_SHOULD_BE_THE_PATH_TO_YOUR_WEB_FOLDER
4) Прибыль *
* могут быть некоторые шаги, которые я сделал, но забыл о.
Ваш модуль eel
нуждается в bottle-websocket
Попробуйте использовать pip
или easy_install
:
pip install bottle-websocket
и сделайте --upgrade, чтобы убедиться, что у вас есть тот, который совместим с версией Python.
pip install bottle-websocket --upgrade
bottle-websocket
...