2017-10-17 13 views
1

python3에서 re2를 사용해야합니다. 설치가 정상적으로 작동하지만 가져올 때이 오류가 표시됩니다.Python3에서 re2 사용하기

>>> import re2 as re 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "re2.pyx", line 1, in init re2 (src/re2.cpp:13681) 
NameError: basestring 

문제가 무엇인지 아는 사람이 있습니까?

+0

방금 ​​libre2-dev 양식을 적성 적으로 설치했으며 pip를 통해 re2를 설치했습니다! – user1829243

답변

4

PyPI에 공개 된 버전은 Python 3과 호환되지 않습니다. basestring은 파이썬 2에서만 존재합니다. 파이썬 3의 텍스트 기반의 유니 코드보기에 맞게 텍스트 중심의 프로젝트를 수정하는 것이 사소한 일은 아닙니다.

특정 프로젝트가 유지되지 않는 것으로 보입니다. 다른 사람 have already reported the problem, 그리고 다른 포크를 가리키는 사람들은 https://github.com/andreasvc/pyre2입니다.

당신은 GitHub의에서 직접 해당 프로젝트를 설치할 수 있습니다 : 당신이 컴파일 해당 프로젝트에 대한 최초의 사이 썬을 설치해야합니다

pip install git+https://github.com/andreasvc/pyre2.git 

참고; 다른 포크와 달리 생성 된 C++ 파일 (re2.pyx 파일에서)은 체크되지 않습니다. 그냥 pip install Cython을 실행하십시오.

대안을 볼 수도 있습니다. 아마도 regex module도 귀하의 요구 사항에 맞을 것입니다. regex은 대폭 향상된 유니 코드 지원과 같은 추가 기능이 포함 된 re의 드롭 인 대체품입니다.