Python无法读取pickle文件在云应用运行TypeError: __cinit__()如何处理
本篇内容主要讲解“Python无法读取pickle文件在云应用运行TypeError: __cinit__()如何处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python无法读取pickle文件在云应用运行TypeError: __cinit__()如何处理”吧!
有一个我部署到GCP云运行快速API应用程序,直到昨,它一直工作得很好,我真的不知道哪里出了问题。当我读取.pkl文件时,问题似乎从这一行开始。
model = pickle.load(open(os.path.join('models', 'appartementen.pkl'), 'rb'))
追溯:
File"pandas/_libs/internals.pyx",line572,inpandas._libs.internals.BlockManager.__cinit__:TypeError:__cinit__()takesatleast2positionalarguments(0given)at<module>(/app/src/api/util.py:25)at<module>(/app/src/api/main.py:8)at_call_with_frames_removed(<frozenimportlib._bootstrap>:219)atexec_module(<frozenimportlib._bootstrap_external>:728)at_load_unlocked(<frozenimportlib._bootstrap>:677)at_find_and_load_unlocked(<frozenimportlib._bootstrap>:967)at_find_and_load(<frozenimportlib._bootstrap>:983)at_gcd_import(<frozenimportlib._bootstrap>:1006)atimport_module(/usr/local/lib/python3.7/importlib/__init__.py:127)atimport_app(/usr/local/lib/python3.7/site-packages/gunicorn/util.py:358)atload_wsgiapp(/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py:39)atload(/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py:49)atwsgi(/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py:67)atload_wsgi(/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py:144)atinit_process(/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py:119)atspawn_worker(/usr/local/lib/python3.7/site-packages/gunicorn/arbiter.py:583)
请注意,当我在本地部署此应用程序时,一切都很顺利。
我的多克档案:
FROMtiangolo/uvicorn-gunicorn-fastapi:python3.7WORKDIR/appCOPY../COPYsrc./src/COPYmodels./models/RUNpipinstall-rrequirements.txtCOPYsetup.py./CMDexecgunicornsrc.api.main:app
如何部署到云运行:
gcloudbuildssubmit--taggcr.io/project-id/api--timeout=3600gcloudrundeployapi--imagegcr.io/project-id/api--platformmanaged--project=project-id--region=europe-west4
requirements.txt:
fastapi==0.63.0google-cloud-bigquery[bqstorage,pandas]==1.24.0sentry_sdk==1.0.0xgboost==1.3.3scikit-learn==0.23.1shap==0.39.0matplotlib==3.4.1
我尝试使用相同的版本根据这个建议,但问题仍然存在。scikit-learn
解决方法:
可能是对象的版本和容器版本之间不兼容,但恢复该版本对我有用。所以:pandaspandaspandas1.2.51.3.0
pipuninstallpandaspipinstallpandas==1.2.5
到此,相信大家对“Python无法读取pickle文件在云应用运行TypeError: __cinit__()如何处理”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。