Pyinstaller 自动包含不需要的模块
Pyinstaller automatically includes unneeded modules
我正在尝试从我编写的一个非常简单的脚本创建一个 .exe。该脚本仅包含 glob 和 pandas。但是 pyinstaller 包括 matplotlib、numpy、scipy、qt4、ipython 和一堆其他东西。 .exe 不会 运行 因为 matplotlib 有错误,但我什至不需要 matplotlib。我做错了什么让 pyinstaller 无法识别只需要 glob 和 pandas?
我手动排除了scipy、matplotlib、PyQt4和iPython,.exe还是160mb!
P.S。我在 winpython 和 python 3.4 中这样做。
编辑:
通过进一步的测试,我将范围缩小到 Pandas。即使是仅包含以下内容的脚本:
import pandas
将创建一个 460MB 的 dist 文件夹或一个 182MB 的 .exe 文件。找出正在导入的模块以便正确排除所有模块的最简单方法是什么?
编辑2:
我尝试制作一个 hook-pandas.py 文件,其中包含:
excludedhooks=['scipy','matplotlib','PIL','cython','PyQt4','zmq']
控制台输出表明由于挂钩文件,导入正在被删除,但是来自这些模块的大量文件最终仍然在 dist 文件夹中。
我也尝试在 .spec 文件中以及在控制台中使用 --exclude-module 排除这些模块,但这些模块中的文件仍然显示。
Pyinstaller 可能已经从您当前的依赖项中算出这些依赖项。如果您确定,请使用 --exclude-module
标志列出您要排除的所有模块。
不确定这是否真的算作解决方案。但是通过完全忽略 winpython 并使用 python 的标准安装,它只安装了 pyinstaller 和 pandas 添加到其中,我很容易生成一个 18MB 的功能性 .exe .我想这与 winpython.
有关
我正在尝试从我编写的一个非常简单的脚本创建一个 .exe。该脚本仅包含 glob 和 pandas。但是 pyinstaller 包括 matplotlib、numpy、scipy、qt4、ipython 和一堆其他东西。 .exe 不会 运行 因为 matplotlib 有错误,但我什至不需要 matplotlib。我做错了什么让 pyinstaller 无法识别只需要 glob 和 pandas?
我手动排除了scipy、matplotlib、PyQt4和iPython,.exe还是160mb!
P.S。我在 winpython 和 python 3.4 中这样做。
编辑: 通过进一步的测试,我将范围缩小到 Pandas。即使是仅包含以下内容的脚本:
import pandas
将创建一个 460MB 的 dist 文件夹或一个 182MB 的 .exe 文件。找出正在导入的模块以便正确排除所有模块的最简单方法是什么?
编辑2: 我尝试制作一个 hook-pandas.py 文件,其中包含:
excludedhooks=['scipy','matplotlib','PIL','cython','PyQt4','zmq']
控制台输出表明由于挂钩文件,导入正在被删除,但是来自这些模块的大量文件最终仍然在 dist 文件夹中。
我也尝试在 .spec 文件中以及在控制台中使用 --exclude-module 排除这些模块,但这些模块中的文件仍然显示。
Pyinstaller 可能已经从您当前的依赖项中算出这些依赖项。如果您确定,请使用 --exclude-module
标志列出您要排除的所有模块。
不确定这是否真的算作解决方案。但是通过完全忽略 winpython 并使用 python 的标准安装,它只安装了 pyinstaller 和 pandas 添加到其中,我很容易生成一个 18MB 的功能性 .exe .我想这与 winpython.
有关