我正在尝试使用PyInstaller(开发版)为Windows将Python脚本包装到exe中.
该脚本使用Pandas,我在运行exe时遇到了错误.
Traceback (most recent call last): File "site-packages\pandas\__init__.py", line 26, in <module> File "C:\Users\Eddie\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__) File "site-packages\pandas\_libs\__init__.py", line 4, in <module> File "C:\Users\Eddie\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname) File "pandas/_libs/tslib.pyx", line 1, in init pandas._libs.tslib ModuleNotFoundError: No module named 'pandas._libs.tslibs.timedeltas'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "G5k Version file Extract (with tkinter).py", line 15, in <module> File "C:\Users\Eddie\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, …Run Code Online (Sandbox Code Playgroud) 我尝试使用PyInstaller 3.2.1创建一个exe文件,出于测试目的,我试图为下面的代码创建一个exe:
import pandas as pd
print('hello world')
Run Code Online (Sandbox Code Playgroud)
经过相当长的时间(15分钟+)后,我完成了620文件大小的dist文件夹和构建 - 150 MB.我使用Python 3.5.2 | Anaconda自定义(64位)在Windows上工作.可能值得注意的是,在dist文件夹中,mkl文件负责将近300 MB.我使用'pyinstaller.exe foo.py'运行pyinstaller.我尝试使用--exclude-module来排除某些依赖项,但最终还是使用了大量文件.无论我使用onefile还是onedir都没有任何区别.
我知道exe必须包含一些重要文件,但是接近1 GB是否正常?如有必要,我可以提供警告日志或任何可能有助于解决问题的事情.
PS同时我的同事用相同的样本脚本创建了一个exe,结果不到100 MB,不同的是他没有使用anaconda.这可能是事吗?
任何帮助将不胜感激.
我的 python 脚本包括:
from keras.models import model_from_json
model = model_from_json(open("test.json").read())
model.load_weights("test.h5")
model.compile(loss="mean_squared_error", optimizer = "adam")
Run Code Online (Sandbox Code Playgroud)
然后,我使用上述脚本中的 pyinstaller 创建了一个 exe 文件。exe 文件无法加载保存的模型。对此的任何想法将不胜感激。