PyInstaller 打包不需要的数学内核库 dll

PyInstaller packages math kernel libraries dlls which are not necessary

我正在使用 pyinstaller 从 python 文件创建一个独立的可执行文件。我注意到许多数学内核库也是捆绑包。以下是 dll 列表,因此增加了我的包的大小。这是在 windows 10 机器上看到的。

mkl_avx.dll mkl_avx2.dll mkl_avx512.dll mkl_avx512_mic.dll mkl_core.dll mkl_thread.dll mkl_mic.dll mkl_mic3.dll mkl_pgi_thread.dll mkl_rt.dll mkl_scalapack_ilp64.dll mkl_sequential.dll mkl_vml_avx.dll mkl_vml_avx512.dll mkl_vml_cmpt.dll mkl_vml_mc.dll mkl_vml_mc3.dll

我在另一台 windows 10 机器上尝试过,我没有看到这些 dll 被打包,但可执行文件在两台机器上运行。我只是想了解为什么要打包这些 dll?
有什么办法可以排除它们吗?
这些是否包含在任何 python 包中?我的pip列表如下

altgraph (0.15)
asn1crypto (0.24.0)
backports.functools-lru-cache (1.5)
certifi (2018.1.18)
cffi (1.11.4)
chardet (3.0.4)
conda (4.4.10)
cryptography (2.1.4)
cycler (0.10.0)
future (0.16.0)
idna (2.6)
kiwisolver (1.0.1)
macholib (1.8)
matplotlib (2.2.0)
menuinst (1.4.11)
numpy (1.14.1)
pandas (0.22.0)
pefile (2017.11.5)
pip (9.0.1)
pycosat (0.6.3)
pycparser (2.18)
pycrypto (2.6.1)
PyInstaller (3.3.1)
pyOpenSSL (17.5.0)
pyparsing (2.2.0)
PySocks (1.6.7)
python-dateutil (2.6.1)
pytz (2018.3)
pywin32 (222)
requests (2.18.4)
ruamel-yaml (0.15.35)
setuptools (38.4.0)
six (1.11.0)
tornado (4.5.3)
urllib3 (1.22)
wheel (0.30.0)
win-inet-pton (1.0.1)
wincertstore (0.2)
XlsxWriter (1.0.2)

经过几次实验,我找到了答案。我在 anaconda 中使用 python,当我从这个 python 安装 numpy 时,它安装了像 mkl 这样的软件包以及 numpy 安装。因此,当我 运行 pyinstaller 时,这些与 numpy 一起打包。
解决方案是我必须使用 anaconda 并安装 miniconda3,然后安装相关包并使用 pyinstaller。这次没有安装 mkl 包。因此问题解决了。