Python: LookupError: неизвестно кодировка: hex - PullRequest
5 голосов
/ 17 октября 2011

Я использую Twitter API под названием Tweepy. Он работал нормально, затем я перезагрузил сервер, и теперь я получаю это:

>>> import tweepy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tweepy/__init__.py", line 17, in <module>
    from tweepy.streaming import Stream, StreamListener
  File "tweepy/streaming.py", line 16, in <module>
    json = import_simplejson()
  File "tweepy/utils.py", line 83, in import_simplejson
    import simplejson as json
  File "build/bdist.linux-i686/egg/simplejson/__init__.py", line 111, in <module>

  File "build/bdist.linux-i686/egg/simplejson/decoder.py", line 29, in <module>
  File "build/bdist.linux-i686/egg/simplejson/decoder.py", line 21, in _floatconstants
LookupError: unknown encoding: hex

Я тоже это пробовал:

from encodings import hex_codec

И это не помогло.

Есть идеи, почему?

Ответы [ 4 ]

2 голосов
/ 05 февраля 2013

У меня возникла та же проблема (с json), решение состоит в том, чтобы скопировать отсутствующий файл 'hex_codec.py' в вашу папку lib 'encodings':

Убедитесь, что у вас есть Python 2.7.Xустановлен (вы найдете это полезным позже).

  1. Перейдите в каталог установки Python 2.7.X для папки 'encodings' (например, для платформы Win: 'C: \ Python27 \ Lib \ encodings)')
  2. Скопируйте файл' hex_codec.py 'или каждый отдельный файл' .py 'в папку' build / bdist.linux-i686 / egg / encodings '....
  3. ПРИБЫЛЬ
1 голос
/ 26 июля 2013

Я получил ту же проблему, пытаясь android-python27 (https://code.google.com/p/android-python27/issues/detail?id=30).

Решено путем копирования версии binascii.py из PyPy и изменения, чтобы попробовать binascii.so и откат к чистому python, если не удается импортировать двоичный файлone.

Получите результат здесь: https://gist.github.com/alanjds/6091309

1 голос
/ 25 июля 2012

Я тоже сталкивался с этой проблемой, но она произошла на компьютере, к которому у меня не было доступа.

Я переименовал encodings / hex_codec.py (и удалил .pyc), похожечто произойдет, эта ошибка произойдет

ActivePython 2.7.0.2 (ActiveState Software Inc.) based on
Python 2.7 (r27:82500, Aug 23 2010, 17:18:21) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\Python27\lib\json\__init__.py", line 108, in <module>
    from .decoder import JSONDecoder
  File "c:\Python27\lib\json\decoder.py", line 24, in <module>
    NaN, PosInf, NegInf = _floatconstants()
  File "c:\Python27\lib\json\decoder.py", line 18, in _floatconstants
    _BYTES = '7FF80000000000007FF0000000000000'.decode('hex')
LookupError: unknown encoding: hex
>>>

проверьте ваши файлы, hex_encoding, вероятно, отсутствует.или у вас может быть что-то странное в вашем PATH / PYTHON_HOME

вы можете сделать printenv перед запуском вашего кода?и "print sys.path" в интерпретаторе?

0 голосов
/ 17 октября 2011

Вы изменили установку Python?В 3.x кажется, что кодеков меньше, чем в 2.x.Особенно, hex и base64 отсутствуют, AFAIK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...