pyinstaller
Analysis: Finding the Files Your Program Needs
You can give additional files on the pyinstaller command line.
You can give additional import paths on the command line.
You can edit the myscript.spec file that PyInstaller writes the first time you run it for your script. In the spec file you can tell PyInstaller about code modules that are unique to your script.
You can write “hook” files that inform PyInstaller of hidden imports. If you create a “hook” for a package that other users mi