ImportError при распаковке объекта в Python 2.7Python

Программы на Python
Ответить
Anonymous
 ImportError при распаковке объекта в Python 2.7

Сообщение Anonymous »

У меня есть маринованный объект MyCustomClass. Он маринуется с помощью встроенного модуля Pickle Python 2.7.8:

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

# mymodule.py

import pickle

class MyCustomClass:
def __init__(self):
# some attributes

def main():
with open("file.txt", "w") as f:
f.write(pickle.dumps(MyCustomClass())
В результате получается файл, начинающийся с:

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

(imymodule
MyCustomClass
p0
(dp1
S'_MyCustomClass__attr1'
...
Я хочу распаковать объект, используя:

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

with open("file.txt") as f:
result = pickle.load(f)
Независимо от того, где и как я запускаю этот код, я всегда получаю сообщение ImportError: Нет модуля с именем mymodule.
Я запускаю Python внутри virtualenv, а mymodule.py находится в корневом каталоге проекта.
Вопрос: что я могу сделать, чтобы успешно распаковать объект? Я не возражаю против каких-либо изменений кода, если структура объекта MyCustomClass (атрибуты) останется прежней.
Я попробовал запустить код распаковки:
  • из того же файла в if __name__ == "__main__": ...
  • из другого файла в том же пакете
  • в интерактивной консоли Python, завернутой в функцию
  • с использованием python -m mymodule
  • из метода MyCustomClass


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

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

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

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

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

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