Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`TypeError: cannot pickle '_abc._abc_data' object` with python 3.14 and cloudpickle 3.1.2

オープン
#585 コメント 21 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
tooling

調査の方向性

提供されている Python 3.14 の reproducer を cloudpickle 3.1.2 で実行し、cloudpipe/cloudpickle#572 を確認してください。skore._utils._parallel の _FuncWrapper から、関数のクロージャおよび traceback に示されている _abc_impl の状態まで、シリアライズを追跡してください。報告されているバージョンで同じ dumps 呼び出しが TypeError を発生させなくなり、このケースの回帰チェックが追加されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Following https://github.com/cloudpipe/cloudpickle/issues/572.

This snippet raises cloudpicke exception:

# python==3.14
# skore==0.11.4
# scikit-learn==1.8.0
# cloudpickle==3.1.2

from cloudpickle import dumps
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from skore import EstimatorReport, set_config
from skore._utils._parallel import _FuncWrapper

set_config(show_progress=False)

X, y = make_regression(random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
report = EstimatorReport(
    LinearRegression(),
    X_train=X_train,
    y_train=y_train,
    X_test=X_test,
    y_test=y_test,
)

dumps(_FuncWrapper(report.metrics.summarize))
TypeError: cannot pickle '_abc._abc_data' object
when serializing dict item '_abc_impl'
when serializing tuple item 0
when serializing cell reconstructor arguments
when serializing cell object
when serializing tuple item 0
when serializing dict item '__closure__'
when serializing tuple item 1
when serializing function state
when serializing function object
when serializing dict item '__annotate__'
when serializing skore._utils._parallel._FuncWrapper state
when serializing skore._utils._parallel._FuncWrapper object
主要言語
Python
スター
1.9k
フォーク
197
平均マージ
1日 10時間
マージ済み PR(30日)
1

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cloudpipe/cloudpickle のほかの issue

cloudpipe/cloudpickle の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。