Python: 当 运行 是使用 PyInstaller 制作的可执行文件时,没有名为 'bottle-websocket' 的模块,包括 Eel 模块
Python: no module named 'bottle-websocket' when running an executable made with PyInstaller, including Eel module
我在玩 Python 的 eel
模块 - 给 运行 HTML + CSS/JS 一个机会 python 功能。
制作了一个简单的程序,尝试通过 PyInstaller 从中制作可执行文件。
没有任何错误,但是当 运行ning 这个可执行文件时它在第一行崩溃 - 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)
错误:
Picture with the error while I try to start the exe
编辑:
PyInstaller Log
我花了一整天的时间找出解决方案,但最后,它是:
- 将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
- 确保在 PyInstaller 生成的 *.spec 文件中有如下一行(适用于 PYTHON 3.6 32 位):
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中:
pythonC:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python36-32\lib\site-packages\eel\main.py HERE_SHOULD_BE_THE_PATH_TO_YOUR_WEB_FOLDER
- 此命令将使 'bottle-websocket' 正常工作,并确保它符合 Web 文件夹和文件。
我也遇到了同样的问题,但我终于解决了,其实非常非常简单,首先确保你使用的是auto-py-to-exe来打包你的应用程序。
插入必要的细节(脚本文件、额外文件等)后,您可能会在下面看到一个高级选项选项卡,单击它展开它,寻找隐藏的导入标签并插入 "bottle-websocket"表示隐藏导入的输入字段,这基本上就是您需要做的所有事情
希望对您有所帮助
我在玩 Python 的 eel
模块 - 给 运行 HTML + CSS/JS 一个机会 python 功能。
制作了一个简单的程序,尝试通过 PyInstaller 从中制作可执行文件。
没有任何错误,但是当 运行ning 这个可执行文件时它在第一行崩溃 - 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)
错误:
Picture with the error while I try to start the exe
编辑: PyInstaller Log
我花了一整天的时间找出解决方案,但最后,它是:
- 将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
- 确保在 PyInstaller 生成的 *.spec 文件中有如下一行(适用于 PYTHON 3.6 32 位):
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中:
pythonC:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python36-32\lib\site-packages\eel\main.py HERE_SHOULD_BE_THE_PATH_TO_YOUR_WEB_FOLDER
- 此命令将使 'bottle-websocket' 正常工作,并确保它符合 Web 文件夹和文件。
我也遇到了同样的问题,但我终于解决了,其实非常非常简单,首先确保你使用的是auto-py-to-exe来打包你的应用程序。
插入必要的细节(脚本文件、额外文件等)后,您可能会在下面看到一个高级选项选项卡,单击它展开它,寻找隐藏的导入标签并插入 "bottle-websocket"表示隐藏导入的输入字段,这基本上就是您需要做的所有事情
希望对您有所帮助