Skip to content Skip to sidebar Skip to footer

Pyinstaller Hidden Import Not Found

I'm using pyinstaller. In my script there is: import toml config = toml.load('config.toml') I compiled my script with: pyinstaller main.py --onefile --clean --name myApp but whe

Solution 1:

Found the answer. If you are using a virtual environment (Like Pipenv, pyenv, venv) you need to run pyinstaller in the context of that environment. So...

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

Also, as mosegui pointed out, you should put your config flags before the file name:

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

though this was so long ago that I'm not sure if that was actually an issue for me.

These days I use Poetry so once I have a Poetry environment I just poetry shell and/or poetry run pyinstaller .... Anytime you use poetry run <some cmd sequence> it runs whatever your command sequence is in the context of the current virtual environment. I believe pipenv run accomplishes a similar thing but Poetry always works better for me.

Solution 2:

I know this is a very belated answer, but I will just leave an observation here in case someone finds himself/herself in a similar situation:

Even if you have toml installed, pyinstaller will not find the hidden import because you are passing the config flags after your script name, instead of before, so the command executes up until your script name and disregards the rest. Try:

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

instead of your current:

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

Post a Comment for "Pyinstaller Hidden Import Not Found"