带有Pandas的PyInstaller创建了500 MB以上的exe
我尝试使用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是否正常?我可以在必要时提供警告日志,或者提供任何有助于解决此问题的信息。
PS同时,我的同事用相同的示例脚本创建了一个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(我可以在myfolder中将pypy文件下载为pypy文件)。但是接下来是我的最终解决方案:如果没有该解决方案,请安装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”的地方,pypiwin32需要pyinstaller,但不会自动安装,hook-
pandas.py需要与pandas一起编译。另外,导入子模块也无法帮助我优化可执行文件的大小。所以我不需要这个东西:from pandas import DataFrame as df
但我只能使用通常的代码:
import pandas as pd
另外,在路径中使用国家字母可能会导致一些错误,因此英语用户帐户是开发工具的不错之选。