I have a Python 3.5 64 bit program (required by tensorflow for Windows) that uses OpenCV. I am distributing it with pyinstaller.
I built my program with Windows 10
I've seen PyInstaller and Py2exe fail to pickup dlls countless times. Personally, I wrap my uses of them in batch or bash for a number of reasons to extend what they do. Logically, I see an argument for wrapping them in py scripts themselves...
Anyway, it may be easier to just copy the dependencies into your installation package through a wrapper script rather then fight with this.
Typically, you'll get a dll missing error thrown at you when try to run something it's missing. Add each one manually to the directory, noting what you needed to include yourself. Then script that.
If you would have provided your spec file I'd could see what's going on. From here its likely your not including files.
There is two methods to go from here:
Check add binary (incl. dll) files here the pyinstaller documentation about including files manually.
Check add data files here the pyinstaller documentation about including files manually.
An example spec-file that includes dll files from your dll folder.
block_cipher = None
a = Analysis(['minimal.py'],
pathex = ['/Developer/PItests/minimal'],
binaries = [ ( 'C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs', '.' ) ],
datas = [ ('helpmod/help_data.txt', 'helpmod' ) ],
hiddenimports = [],
hookspath = None,
runtime_hooks = None,
excludes = None,
cipher = block_cipher)
pyz = PYZ(a.pure, a.zipped_data, cipher = block_cipher)
exe = EXE(pyz,... )
coll = COLLECT(...)
I need to do this myself but haven't yet. I'll try to post my full solution when I do. In the mean time...
I think you may have to explicitly request they be included instead of just expanding the search path.
https://pythonhosted.org/PyInstaller/spec-files.html#adding-binary-files
Probably using the Tree
class they mention to collect all the files for you.
https://pythonhosted.org/PyInstaller/advanced-topics.html#the-tree-class