Python:运行由PyInstaller创建的可执行文件(包括Eel模块)时,没有名为“ bottle-websocket”的模块

时间:2018-12-08 12:52:44

标签: python electron pyinstaller

我一直在使用Python的eel模块-提供了使用python功能运行HTML + CSS / JS的机会。

制作一个简单的程序,尝试通过PyInstaller使其生成可执行文件。 完全没有错误,但是运行此可执行文件时,它在第一行- import eel 崩溃-告诉- there is no module called 'bottle-websocket'

我检查了pipeelbottle-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

2 个答案:

答案 0 :(得分:2)

我也遇到了同样的问题,但是我终于解决了它,这实际上非常简单,首先请确保您使用的是自动py-to-exe打包应用程序。

插入必要的详细信息(脚本文件,其他文件等)后,您可能会在下面看到一个高级选项选项卡,单击该选项卡将其展开,寻找隐藏的导入标签,然后在输入中插入“ bottle-websocket”代表隐藏的导入的字段,基本上就是您要做的

我希望这能帮助

答案 1 :(得分:0)

整日带我去寻找解决方案,但最后是:

1)从C:\ Users \ YOUR_USERNAME \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ bottle_websocket复制plugin.py,server.py文件到C:\ Users *您的用户名* \ AppData \ Local \ Programs \ Python \ Python36-32 \ Lib 2)确保在由PyInstaller(FOR PYTHON 3.6 32bit)生成的 .spec文件中具有以下内容:             
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

  • 此命令将完成“ bottle-websocket”工作,并确保它符合Web文件夹和文件。

4)利润*

*可能有一些步骤,我做了,但忘了。