python – Pyinstaller自动包含不需要的模块

python – Pyinstaller自动包含不需要的模块,第1张

概述我试图从我编写的一个非常简单的脚本创建.exe.该脚本仅包含glob和pandas.但是pyinstaller包括matplotlib,numpy,scipy,qt4,i python以及其他一些东西. .exe将无法运行,因为matplotlib存在错误,但我甚至不需要matplotlib.我做错了让pyinstaller不能识别只需要glob和pandas? 我手动排除了scipy,matpl 我试图从我编写的一个非常简单的脚本创建.exe.该脚本仅包含glob和pandas.但是pyinstaller包括matplotlib,numpy,scipy,qt4,i python以及其他一些东西. .exe将无法运行,因为matplotlib存在错误,但我甚至不需要matplotlib.我做错了让pyinstaller不能识别只需要glob和pandas?

我手动排除了scipy,matplotlib,PyQt4和iPython,而.exe仍然是160mb!

附:我在使用python 3.4的winpython中执行此 *** 作.

编辑:
经过一些进一步的测试,我把它缩小到了熊猫.即使是只包含以下内容的脚本:

import pandas

将创建一个460MB的dist文件夹或一个182MB的单个文件.exe.什么是最简单的方法,我可以找出哪些模块正在导入,以便我可以正确排除所有模块?

EDIT2:
我试过制作一个包含以下内容的hook-pandas.py文件:

excludedhooks=['scipy','matplotlib','PIL','cython','PyQt4','zmq']

控制台输出表明由于挂钩文件导致导入被删除,但来自这些模块的大量文件仍然在dist文件夹中.

我还尝试使用–exclude-module在.spec文件和控制台中排除这些模块,但这些模块中的文件仍然显示.

解决方法 Pyinstaller可能已经从您当前的依赖项中找到了这些依赖项.如果您确定,请使用–exclude-module标志列出要排除的所有模块.

http://pythonhosted.org/PyInstaller/#general-options

总结

以上是内存溢出为你收集整理的python – Pyinstaller自动包含不需要的模块全部内容,希望文章能够帮你解决python – Pyinstaller自动包含不需要的模块所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存