Ошибка при создании модуля: нет модуля с именем ‘copy_reg r’

#python-3.x #windows-10 #pickle

#python-3.x #windows-10 #рассол

Вопрос:

Я пытаюсь выполнить код python на своем компьютере с Windows, куда я импортировал pickle, и я загрузил файл, но по какой-то причине он выдает ошибку ModuleNotFound, и я не знаю, какое отношение pickle имеет к ‘copy_reg r’

Вот мой код:

 from six.moves import cPickle
def openfile(basename):
    with open(os.path.join(DIR_PATTERNS, basename), 'rb') as fh:
        return cPickle.load(fh)
        #return open(os.path.join(DIR_PATTERNS, basename), 'rb')

HAVE_FSAs = openfile("HAVE_FSAs.pickle")
 

Здесь возникает ошибка:

 HAVE_FSAs = cPickle.load(openfile("HAVE_FSAs.pickle"))
ModuleNotFoundError: No module named 'copy_regr'
 

Я уже пробовал import pickle as cPickle , но у меня это не сработало. Все переменные объявлены, поэтому этого не может быть, и, более того, я не понимаю, почему он выдает ModuleNotFound

Комментарии:

1. вероятно, вы пытаетесь загрузить python2 pickle в python3

Ответ №1:

в python3 есть copy_reg, нет copy_reg . чтобы вы могли исправить исходный код, например, вам нужно удалить код:

 import copy_reg
 

затем вы должны заменить:

 import copyreg