gpt4 book ai didi

python - PyInstaller with Pandas 创建超过 500 MB 的 exe

转载 作者:太空狗 更新时间:2023-10-29 21:14:39 29 4
gpt4 key购买 nike

我尝试使用 PyInstaller 3.2.1 创建一个 exe 文件,出于测试目的,我尝试为以下代码制作一个 exe:

import pandas as pd
print('hello world')

经过相当长的时间(15 分钟以上),我完成了 620 MB 大小的 dist 文件夹并构建了 150 MB。我在 Windows 上工作,使用 Python 3.5.2 |Anaconda 自定义(64 位)。可能值得注意的是,在 dist 文件夹中,mkl 文件占近 300 MB。我使用“pyinstaller.exe foo.py”运行 pyinstaller。我尝试使用 --exclude-module 来排除一些依赖项,但最终还是得到了巨大的文件。无论我使用 onefile 还是 onedir 都没有任何区别。

我知道 exe 必须包含一些重要文件,但是大约 1 GB 这么大是否正常?如有必要,我可以提供警告日志或任何有助于解决问题的信息。

附言与此同时,我的同事从同一个示例脚本创建了一个 exe,结果不到 100 MB,不同之处在于他没有使用 anaconda。会不会是这个原因?

我们将不胜感激。

最佳答案

PyInstaller 从 conda 包创建一个大的可执行文件,从 pip 包创建一个小的可执行文件。来自这个简单的 python 代码:

from pandas import DataFrame as df
print('h')

我使用 conda 包获得了一个 203MB 的可执行文件,使用 pip 包获得了一个 30MB 的可执行文件。但是 conda 是纯 virtualenv 的一个很好的替代品。我可以使用 conda 和 Jupyter 进行开发,创建一些脚本“mycode.py”(我可以将 Jupyter Notebook 作为 py 文件下载到我的文件夹中)。

但我的最终解决方案是:如果没有,请安装 Miniconda并从 Windows 开始菜单打开 Anaconda Prompt;

    cd myfolder
conda create -n exe python=3
activate exe
pip install pandas pyinstaller pypiwin32
echo hiddenimports = ['pandas._libs.tslibs.timedeltas'] > %CONDA_PREFIX%\Lib\site-packages\PyInstaller\hooks\hook-pandas.py
pyinstaller -F mycode.py

在我创建新环境“exe”的地方,pyinstaller 需要 pypiwin32 但不会自动安装,并且需要 hook-pandas.py 才能使用 pandas 进行编译。此外,导入子模块并不能帮助我优化可执行文件的大小。所以我不需要这个东西:

from pandas import DataFrame as df

但我可以只使用通常的代码:

import pandas as pd

此外,在路径中使用国家字母时可能会出现一些错误,因此开发工具最好使用英文用户帐户。

关于python - PyInstaller with Pandas 创建超过 500 MB 的 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886822/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com