pyinstaller找不到隐藏的导入

时间:2019-07-26 21:25:19

标签: python python-import pyinstaller toml

我正在使用pyinstaller。在我的脚本中有:

import toml


config = toml.load('config.toml')

我用以下命令编译了脚本:

pyinstaller main.py --onefile --clean --name myApp

但是当我运行可执行文件时,它给了我ModuleNotFoundError: No module named 'toml'

所以我尝试了这个:

pyinstaller main.py --hidden-import toml --onefile --clean --name myApp

现在pyinstaller说:ERROR: Hidden import 'toml' not found

2 个答案:

答案 0 :(得分:0)

找到了答案。如果您使用的是虚拟环境(例如Pipenv,pyenv,venv),则需要在该环境的上下文中运行pyinstaller。所以...

pip install pyinstaller
python -m PyInstaller main.py ....

答案 1 :(得分:0)

我知道这是一个很晚的答案,但是如果有人发现自己处于类似情况,我将在这里留个观察

即使您安装了tomlpyinstaller也不会找到隐藏的导入,因为您是在脚本名称之后而不是之前传递config标志,因此该命令会一直执行到您的脚本名称为止而不理会其余的试试:

pyinstaller --hidden-import toml --onefile --clean --name myApp main.py

代替您当前的

pyinstaller main.py --hidden-import toml --onefile --clean --name myApp