実現したいこと
自作ライブラリ内のクラスをpickle化した後,これを自作ライブラリの無い環境で非pickle化したい.
前提
”MyLib”という自作のライブラリ内で次のクラスを定義します.
python(test.py)
1class TestClass(): 2 def __init__(self): 3 self.a = 0 4 5 def write(self,file): 6 with open(file,"wb") as f: 7 pickle.dump(self,f) 8
この自作ライブラリを使ってpickle化します.
python
1from mylib.test import TestClass 2 3test = TestClass() 4test.write("test.pickle") # --> "test.pickle"が作成される
発生している問題・エラーメッセージ
これをmylibの無い環境で非pickle化するとエラーになります.
python
1with open("test.pickle","rb") as f: 2 test = pickle.load(f) 3 4# ModuleNotFoundError: No module named 'mylib'
mylibが無いため非pickle化に失敗することは分かるのですが,これを可能にする方法はありますか?
よろしくお願いいたします.
回答2件
あなたの回答
tips
プレビュー