注意!この記事は題のエラーの意味を説明するだけで、実際の解決まで至っていない
症状
def test(x): print "Run " + str(x) if __name__ == '__main__': pool = Pool() res = pool.apply_async(test, (Solver(),)) res.wait()
Solverクラスはこの検証器のPython向けAPIで使われているクラス。
これを実行すると「ctypes objects containing pointers cannot be pickled」と出る
解説
- メッセージ
- ctypes objects containing pointers cannot be pickled
- 直訳「ポインタが含まれるctypeのオブジェクトは漬物にできない」
- 漬物とは
- Pythonにおける漬物とはこちらのサイトが参考になる
- 簡潔に言うと「漬物にする = シリアライゼーション」
- シリアライゼーションできる要素は決まっている ここに一覧がある
- Stackoverflowでの回答