Python无法读取pickle文件在云应用运行TypeError: __cinit__()如何处理

发布时间:2022-02-21 15:12:51 作者:iii
来源:亿速云 阅读:237

本篇内容主要讲解“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", line 572, in pandas._libs.internals.BlockManager.__cinit__: TypeError: __cinit__() takes at least 2 positional arguments (0 given) at <module> (/app/src/api/util.py:25)
at <module> (/app/src/api/main.py:8) at
    _call_with_frames_removed (<frozen importlib._bootstrap>:219) at exec_module (<frozen importlib._bootstrap_external>:728) 
at _load_unlocked (<frozen importlib._bootstrap>:677) 
at _find_and_load_unlocked (<frozen importlib._bootstrap>:967) 
at _find_and_load (<frozen importlib._bootstrap>:983) 
at _gcd_import (<frozen importlib._bootstrap>:1006) 
at import_module (/usr/local/lib/python3.7/importlib/__init__.py:127) 
at import_app (/usr/local/lib/python3.7/site-packages/gunicorn/util.py:358) at load_wsgiapp (/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py:39) 
at load (/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py:49) 
at wsgi (/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py:67) 
at load_wsgi (/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py:144) 
at init_process (/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py:119) 
at spawn_worker (/usr/local/lib/python3.7/site-packages/gunicorn/arbiter.py:583)

请注意,当我在本地部署此应用程序时,一切都很顺利。

我的多克档案:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7
WORKDIR /app
COPY . ./
COPY src ./src/
COPY models ./models/
RUN pip install -r requirements.txt
COPY setup.py ./
CMD exec gunicorn src.api.main:app

如何部署到云运行:

gcloud builds submit --tag gcr.io/project-id/api --timeout=3600

gcloud run deploy api --image gcr.io/project-id/api --platform managed --project=project-id --region=europe-west4

requirements.txt:

fastapi==0.63.0
google-cloud-bigquery[bqstorage,pandas]==1.24.0
sentry_sdk==1.0.0
xgboost==1.3.3
scikit-learn==0.23.1
shap==0.39.0
matplotlib==3.4.1

我尝试使用相同的版本根据这个建议,但问题仍然存在。scikit-learn

解决方法:

可能是对象的版本和容器版本之间不兼容,但恢复该版本对我有用。所以:pandaspandaspandas1.2.51.3.0

pip uninstall pandas
pip install pandas==1.2.5

到此,相信大家对“Python无法读取pickle文件在云应用运行TypeError: __cinit__()如何处理”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. Gin Web Framework 中文版
  2. 《Flask Web开发 基于Python的Web应用开发实战》简评

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python pickle

上一篇:python单元测试如何写

下一篇:怎么使用python Matplotlib在散点图中标记颜色

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》