12345678910111213141516171819202122232425262728293031323334353637 |
- """This hook should collect all binary files and any hidden modules that numpy
- needs.
- Our (some-what inadequate) docs for writing PyInstaller hooks are kept here:
- https://pyinstaller.readthedocs.io/en/stable/hooks.html
- """
- from PyInstaller.compat import is_conda, is_pure_conda
- from PyInstaller.utils.hooks import collect_dynamic_libs, is_module_satisfies
- # Collect all DLLs inside numpy's installation folder, dump them into built
- # app's root.
- binaries = collect_dynamic_libs("numpy", ".")
- # If using Conda without any non-conda virtual environment manager:
- if is_pure_conda:
- # Assume running the NumPy from Conda-forge and collect it's DLLs from the
- # communal Conda bin directory. DLLs from NumPy's dependencies must also be
- # collected to capture MKL, OpenBlas, OpenMP, etc.
- from PyInstaller.utils.hooks import conda_support
- datas = conda_support.collect_dynamic_libs("numpy", dependencies=True)
- # Submodules PyInstaller cannot detect. `_dtype_ctypes` is only imported
- # from C and `_multiarray_tests` is used in tests (which are not packed).
- hiddenimports = ['numpy.core._dtype_ctypes', 'numpy.core._multiarray_tests']
- # Remove testing and building code and packages that are referenced throughout
- # NumPy but are not really dependencies.
- excludedimports = [
- "scipy",
- "pytest",
- "f2py",
- "setuptools",
- "numpy.f2py",
- "distutils",
- "numpy.distutils",
- ]
|