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
明確命名二進制數據文件的文件。
添加回答
舉報