I'm trying to compile a .py program into a Windows .exe using PyInstaller. Whenever I try to execute the .exe, the terminal opens, then closes quickly with the error:
ImportError: Unable to import required dependencies:
numpy: No module named 'numpy.random.common'
I'm not explicitly importing numpy; it's being import by pandas.
I also get this long list of warnings about modules that couldn't be loaded in the warnings log for pyinstaller.
I've tried adding hiddenimports=['numpy.random.common']
in my .spec file, I've tried running `pyinstaller [file].py -F --hidden-import="numpy.random.common". I've read the other stackoverflow posts about pyinstaller and hiddenimports, yet nothing seems to fix this error.
I'm using a virtual environment, so I'm not sure if that's playing a part.
Here's my .spec file
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['getNewPropertiesLabels.py'],
pathex=['C:\Users\[user name]\OneDrive\Documents\Consulting\[file name]'],
binaries=[],
datas=[],
hiddenimports=['numpy.random.common'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='Name',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True')
My warning file causes the post to be too long, however numpy.random.common isn't actually listed as a missing module. Neither is numpy.random.
I'm expecting this to just run properly without any issues.
See Question&Answers more detail:
os