3 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
你用 IDLE 測(cè)試過(guò)你的程序嗎?可能存在pickle
解碼錯(cuò)誤...如果沒(méi)有,請(qǐng)嘗試使用此代碼創(chuàng)建您的 exe。它會(huì)導(dǎo)入您計(jì)算機(jī)上的所有庫(kù)。它更長(zhǎng),但更容易:只需運(yùn)行一個(gè)文件。
無(wú)論如何,更好的用戶PyInstaller(也是 PyPI 上可用的模塊) -相關(guān)堆棧溢出答案

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以按如下方式導(dǎo)入模型。model = pickle.load(open('MODEL_PATH','rb'))
希望這會(huì)起作用!

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
我 99.99% 肯定您還需要將該model_pickle文件setup(…)作為包數(shù)據(jù)添加到您的調(diào)用中,以便它作為可執(zhí)行文件工作。這是setup.py顯示包數(shù)據(jù)選項(xiàng)的片段:
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,
# …
)
另外,如果我是你,我會(huì)將數(shù)據(jù)文件重命名為類似的名稱model_pickle.pkl,這樣你的package_data表達(dá)式就不必是雙通配符(如上所述)。
如果這不能立即奏效,我還建議添加一個(gè)MANIFEST.in
明確命名二進(jìn)制數(shù)據(jù)文件的文件。
添加回答
舉報(bào)