Ошибка при запуске преобразованного в Python exe: «Ошибка UnicodeDecodeError: кодек ‘charmap’ не может декодировать байт» с использованием reverse_geocoder

#python #python-3.x #unicode #python-3.7 #reverse-geocoding

#python #python-3.x #unicode #python-3.7 #обратное геокодирование

Вопрос:

Я работаю над программой Python 3.7.9 (.py), которая отлично работает при запуске как на терминале CMD, так и на PyCharm (я использую модуль reverse_geocoder — он имеет отношение к ошибке). Затем я использовал pyinstaller для преобразования файла .py в .exe. Я получил файл в папке dist. Но при его запуске я получаю сообщение об ошибке:

(Я импортировал reverse_geocoder как rg — поскольку это появляется в ошибке)

 Traceback (most recent call last):
  File "myProgram.py", line 235, in <module>
    location = reverseGeocode(coordinates)
  File "myProgram.py", line 170, in reverseGeocode
    result = rg.search(coordinates)
  File "reverse_geocoder__init__.py", line 292, in search
  File "reverse_geocoder__init__.py", line 88, in getinstance
  File "reverse_geocoder__init__.py", line 111, in __init__
  File "reverse_geocoder__init__.py", line 197, in extract
File "c:usersUSERappdatalocalprogramspythonpython37libencodingscp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 286: character maps to <undefined>
  

Я попытался добавить encoding = ‘utf-8’ в open () в reverse_geocoder_init_.py как было предложено несколькими вопросами на форуме, но ошибка не изменилась.
Может ли кто-нибудь мне помочь? PS Я новичок в Python, поэтому, пожалуйста, упростите ответы, если это возможно.

Ответ №1:

Я не смог решить эту проблему. Вместо этого я решил использовать обратный геокодер Bing, и это решило мою проблему. Это было намного проще, с меньшим блоком кода и большим количеством бесплатных вызовов API в месяц.