2011-10-17 3 views
5

Tweepy라는 Twitter API를 사용하고 있습니다. Python : LookupError : 알 수없는 인코딩 : 16 진수

>>> 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 

그리고 그것은 도움이되지 않았다.

왜 그런가?

+0

있습니까? – Raz

+0

내가 아는 것은 아닙니다. – Zeno

답변

0

파이썬 설치가 변경 되었습니까? 3.x에서는 2.x보다 적은 코덱이있는 것 같습니다. 특히 hexbase64이 누락되었습니다. AFAIK.

+0

Nope. 나는 항상 파이썬 2.6.2를 사용 해왔다. – Zeno

1

이 문제도 발생했지만 액세스 권한이없는 컴퓨터에서 문제가 발생했습니다.

나는 hex_encoding 아마 누락 할 것입니다 무엇을 같은 모습이 오류가

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_codec.py 개명 (그리고 .pyc 파일을 삭제)했습니다. 또는 PATH/PYTHON_HOME에 이상한 점이있을 수 있습니다.

코드를 실행하기 전에 printenv를 할 수 있습니까? 와 "print sys.path"가 인터프리터에 있습니까?

이 있는지 확인 파이썬 2.7.X 설치 한 :

2

저도 같은 문제를 JSON (와) 솔루션이 '인코딩'해방 폴더에없는 'hex_codec.py'파일을 복사하는 것입니다 경험했습니다 (나중에 유용 할 것입니다).

  1. 은 '인코딩'폴더에 대한 파이썬 2.7.X 설치 디렉토리로 이동합니다 (예 : 승리 플랫폼 :. 'C : \ Python27 \ lib 디렉토리 \ 인코딩')
  2. 복사 'hex_codec.py'또는 매 '.py'파일을 'build/bdist.linux-i686/egg/encodings'폴더에 복사하십시오.
+1

binascii.so가 binascii.py 대신에 존재한다. – alanjds

+0

무엇이 그 근본 원인인가? – jterrace

1

...

  • 이익이 나는 안드로이드-python27 (https://code.google.com/p/android-python27/issues/detail?id=30)을 시도하고 같은 문제가있어.

    Python에서 binascii.py 버전을 복사하여 binascii.so로 수정하고 이진 파일을 가져올 수없는 경우 pure-python으로 대체합니다.

    여기에 결과를 얻을 : 당신이 재부팅 이후 잃어버린 환경 설정 어떤 종류의 https://gist.github.com/alanjds/6091309

  • +0

    정적 파이썬 빌드에서 이것을 보았습니다. 'Modules/Setup'에서 binascii를 활성화시킴으로써 해결되었습니다. – minghua