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 包。因此问题解决了。
我正在使用 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 包。因此问题解决了。