Невозможно распаковать документPython

Программы на Python
Ответить
Anonymous
 Невозможно распаковать документ

Сообщение Anonymous »

У меня есть довольно простой словарный ключ: ["строка 1", "строка 2" ...]. Я мариную его в одной среде (среда блоков данных) и пытаюсь распаковать его в другой среде (контейнер Docker на моем локальном компьютере). Я делал это без проблем несколько месяцев, а теперь, когда я добираюсь до этой строки кода, выдает ошибку:

Код: Выделить всё

KeyError: '__fields_set__'
Traceback:
File "/usr/local/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 589, in _run_script
exec(code, module.__dict__)
File "/src/frontend/pages/Chat.py", line 217, in 
parsed_documents_dict_temp = pickle.load(open(file_path, "rb"))
File "/usr/local/lib/python3.9/site-packages/pydantic/v1/main.py", line 417, in __setstate__
object_setattr(self, '__fields_set__', state['__fields_set__'])
Я исследовал это, и единственное, что я смог найти, это то, что либо: (i) рассол менялся между маринованием и рассолом, чего не происходит; ИЛИ (ii) каким-то образом версия Pickle в одной среде отличается от версии, используемой для распаковки.
Чтобы попытаться справиться с (ii), я убедился, что обе среды работают на Python 3.9. 19. Но проблема остается.
Я могу подтвердить, что словарь, который я собираю в среде блоков данных, я могу распаковать в среде блоков данных. Так что дело не в том, что файл рассола поврежден. Так что это (я думаю) как-то связано с различиями в версии рассола, используемой в каждой среде. Но помимо сохранения версий Python одинаковыми, я не знаю, что еще я могу изменить.
Я также видел ссылки на PyDantic в некоторых сообщениях в Интернете, и ошибка ясно видна. что ошибка исходит от PyDantic, но я не использую PyDantic для создания словаря и поэтому не знаю, как удовлетворить любые требования, которые он ищет. Есть ли способ вручную изменить состояние с ['fields_set']? Я предполагаю, что проблема в том, что Pydantic по какой-то причине считает, что состояние равно «fields_set», и поэтому не считает, что следует распаковывать объект?
Есть мысли, как исправить?


Подробнее здесь: https://stackoverflow.com/questions/791 ... e-document
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»