When attempting to convert a Python script that utilizes the icecream library into an executable using pyinstaller, an error may occur. The error message states that a FileNotFoundError occurred, specifically for the file 'icecream/version.py'.
This error is caused by the icecream library running the
icecream/version.py file with the exec() function, and therefore this file needs to be included in the executable.
A solution to this issue is to edit the
.spec file for pyinstaller. First, add the following code at the top of the file:
import os import icecream icecream_path = os.path.abspath(icecream.__path__)
Then, add the
Tree() function as an argument to the
COLLECT() function like so:
coll = COLLECT(exe, a.binaries, Tree(icecream_path, prefix="icecream"), a.zipfiles,
By implementing these changes, the icecream library will be properly included in the executable, and the error should be resolved.