2013-06-21 5 views
2

터미널을 통해 NLTK 가져 오는 동안 나는이 문제를 해결하려면이파이썬 수입 NLTK 오류

[[email protected] hadoop]$ python 
Python 2.6.6 (r266:84292, Feb 21 2013, 23:54:59) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import nltk 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.6/site-packages/nltk/__init__.py", line 73, in <module> 
    from internals import config_java 
    File "/usr/lib/python2.6/site-packages/nltk/internals.py", line 10, in <module> 
    import subprocess 
    File "/usr/lib/python2.6/subprocess.py", line 425, in <module> 
    import pickle 
    File "/usr/lib/python2.6/pickle.py", line 165, in <module> 
    __all__.extend([x for x in dir() if re.match("[A-Z][A-Z0-9_]+$",x)]) 
AttributeError: 'module' object has no attribute 'match' 
>>> 

어떤 생각과 같은 오류가있어?

+0

피클 모듈이 손상된 것처럼 보입니다. 파이썬을 재설치하거나 더 나은 2.7 버전으로 업그레이 드하십시오. – J0HN

답변

2

어딘가에 're.py'라는 파일이있을 수 있습니까?

re 모듈의 기본값은 re.match입니다. 누락 된 방법은 없습니다.

당신은 import reprint(re.__file__)

+0

+1 내 머리를 뽑아 내십시오 !!! – Timmah

0

이 문제는 순환 종속성의 모양을 통해 자료를 확인할 수 있습니다. 이 대답을보십시오 attribution error. nltk 모듈에 대한 의존성이 있으며, 어떤 이유로 든 완전히로드되기 전에 nltk을 가져와야한다고 말합니다. re는 nltk 종속성이 없습니다. 파이썬 라이브러리 경로에 잘못된 모듈이 들어 있기 때문에이 문제가 발생했다고 생각합니다.

새 터미널에서 직접 가져 오기를 시도하고로드되는 위치를 확인하십시오. 그것을 제거하고 기본 위치에 올바른 re 모듈을 설치해야합니다.

0

안녕하세요. 저는 코드가있는 디렉토리에서 .pyc 파일을 제거하여이 문제를 해결했습니다.

0

파이썬을 2.6에서 2.7 이상으로 업그레이드하고 다시 시도하십시오.