TypeError: um objeto semelhante a bytes é necessário, não 'str' ao abrir o arquivo Pickle do Python 2 no Python 3

Estou tentando abrir um arquivo de pickle no Python 3 com código que funcionou no Python 2, mas agora está me dando um erro. Aqui está o código:

with open(file, 'r') as f:
    d = pickle.load(f)

TypeError                                 Traceback (most recent call last)
<ipython-input-25-38f711abef06> in <module>()
      1 with open(file, 'r') as f:
----> 2     d = pickle.load(f)

TypeError: a bytes-like object is required, not 'str'

Vi em outras respostas do SO que as pessoas tinham esse problema ao usaropen(file ,'rb') e mudar paraopen(file ,'r') consertou. Se isso ajudar, eu tenteiopen(file ,'rb') apenas para experimentar e obteve o seguinte erro:

UnpicklingError                           Traceback (most recent call last)
<ipython-input-26-b77842748a06> in <module>()
      1 with open(file, 'rb') as f:
----> 2     d = pickle.load(f)

UnpicklingError: invalid load key, '\x0a'.

Quando abro o arquivo comf = open(file, 'r') e o enterf Eu recebo:

<_io.TextIOWrapper name='D:/LargeDataSets/Enron/final_project_dataset.pkl' mode='r' encoding='cp1252'>

Então eu também tentei:

with open(file, 'rb') as f:
    d = pickle.load(f, encoding='cp1252')

e obteve o mesmo erro do uso de 'rb':

UnpicklingError                           Traceback (most recent call last)
<ipython-input-27-959b1b0496d0> in <module>()
      1 with open(file, 'rb') as f:
----> 2     d = pickle.load(f, encoding='cp1252')

UnpicklingError: invalid load key, '\x0a'.

questionAnswers(3)

yourAnswerToTheQuestion