我正在使用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
答案 0 :(得分:0)
找到了答案。如果您使用的是虚拟环境(例如Pipenv,pyenv,venv),则需要在该环境的上下文中运行pyinstaller。所以...
pip install pyinstaller
python -m PyInstaller main.py ....
答案 1 :(得分:0)
我知道这是一个很晚的答案,但是如果有人发现自己处于类似情况,我将在这里留个观察
即使您安装了toml
,pyinstaller
也不会找到隐藏的导入,因为您是在脚本名称之后而不是之前传递config标志,因此该命令会一直执行到您的脚本名称为止而不理会其余的试试:
pyinstaller --hidden-import toml --onefile --clean --name myApp main.py
代替您当前的
pyinstaller main.py --hidden-import toml --onefile --clean --name myApp