加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 13:11:35 所属栏目:Python 来源:网络整理
导读:我试图从我编写的一个非常简单的脚本创建.exe.该脚本仅包含glob和pandas.但是pyinstaller包括matplotlib,numpy,scipy,qt4,i python以及其他一些东西. .exe将无法运行,因为matplotlib存在错误,但我甚至不需要matplotlib.我做错了让pyinstaller不能识别只需要g
我试图从我编写的一个非常简单的脚本创建.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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读