首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Pandas的PyInstaller创建了超过500 MB的exe

使用Pandas的PyInstaller创建了超过500 MB的exe
EN

Stack Overflow用户
提问于 2017-05-10 08:06:50
回答 8查看 27.9K关注 0票数 17

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

代码语言:javascript
复制
import pandas as pd
print('hello world')

经过相当长的时间(15分钟+),我完成了大到620 MB的dist文件夹,并构建了- 150 MB。我在Windows上使用Python3.5.2\Anaconda自定义(64位)。值得注意的是,在dist文件夹中,mkl文件负责将近300 MB。我使用'pyinstaller.exe foo.py‘运行pyinstaller。我试着使用--排除--模块来排除一些依赖项,结果仍然是巨大的文件。不管我用的是单效还是单效药,都不会有任何区别。

我知道exe必须包含一些重要的文件,但是大小几乎达到1GB是正常的吗?我可以提供警告日志,如果有必要或任何可能有助于解决这一问题。

平行地,我的同事从同一个样例脚本中创建了一个exe,结果不到100 MB,不同的是他没有使用anaconda。这就是问题所在吗?

任何帮助都将不胜感激。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2018-02-17 22:26:13

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

代码语言:javascript
复制
from pandas import DataFrame as df
print('h')

我使用conda包获得一个203 and的可执行文件,使用pip包获得一个30 and的可执行文件。但是conda是纯虚拟的很好的替代品。我可以使用conda和木星开发,创建一些脚本'mycode.py‘(我可以下载木星笔记本作为py文件在我的文件夹)。

但是我的最后一个解决方案是下一步:如果没有,安装米尼康达并从Windows菜单打开Anaconda提示符;

代码语言:javascript
复制
    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,但不是自动安装的,与熊猫一起编译还需要钩子-Pandas.py。此外,导入子模块也无助于优化可执行文件的大小。所以我不需要这个东西

代码语言:javascript
复制
from pandas import DataFrame as df

但我可以用通常的代码:

代码语言:javascript
复制
import pandas as pd

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

票数 20
EN

Stack Overflow用户

发布于 2017-05-10 08:50:53

这可能是因为numpy的Anaconda版本是使用mkl构建的。

如果希望减少可分发的大小,可以使用独立构建的虚拟环境,其包是通过pip安装的,而不是conda安装的。

票数 11
EN

Stack Overflow用户

发布于 2018-04-29 02:23:18

下面是一种仍然使用conda并避免使用mkl的方法。使用以下备用命令在安装熊猫之前安装numpy:

conda install -c conda-forge numpy

避免使用mkl,取而代之的是使用OpenBLAS包。这个问题发生在conda/conda-forge/numpy-原料github回购公司中的全部解释。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43886822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档