3 回答
TA贡献2080条经验 获得超4个赞
你用 IDLE 测试过你的程序吗?可能存在pickle
解码错误...如果没有,请尝试使用此代码创建您的 exe。它会导入您计算机上的所有库。它更长,但更容易:只需运行一个文件。
无论如何,更好的用户PyInstaller(也是 PyPI 上可用的模块) -相关堆栈溢出答案
TA贡献1744条经验 获得超4个赞
我 99.99% 肯定您还需要将该model_pickle文件setup(…)作为包数据添加到您的调用中,以便它作为可执行文件工作。这是setup.py显示包数据选项的片段:
from setuptools import setup, find_packages
PROJECT_NAME = 'my_project' # this should reflect your package structure
setup(
# …
packages=[package for package in find_packages() \
if package.startswith(PROJECT_NAME)],
package_dir={ 'my_project' : 'my_project' },
package_data={ '' : ['*.*'] },
include_package_data=True,
zip_safe=True,
# …
)
另外,如果我是你,我会将数据文件重命名为类似的名称model_pickle.pkl,这样你的package_data表达式就不必是双通配符(如上所述)。
如果这不能立即奏效,我还建议添加一个MANIFEST.in
明确命名二进制数据文件的文件。
添加回答
举报