2017-02-14 1 views
1

CentOS 6.6에서 readme 파일에 따라 소스에서 python 2.7.13을 설치했습니다. (configure/make 절차 바로 다음). 명령 줄에서이 python을 실행하고 제대로 작동하는 것 같습니다. 이 핍과 setuptools에 제공되지 않습니다 그러나, 나는 get-pip.py 다운로드하고 그것을 이런 식으로 실행하려고 그런 다음 /share/apps/Python-2.7.13/bin/python2.7 get-pip.py 나는 다음과 같은 오류 얻을 :신선한 Python 소스 설치에서 get-pip 실행 후 정의되지 않은 기호

Traceback (most recent call last): File "get-pip.py", line 28, in <module> import tempfile File "/share/apps/Python-2.7.13/lib/python2.7/tempfile.py", line 32, in <module> import io as _io File "/share/apps/Python-2.7.13/lib/python2.7/io.py", line 51, in <module> import _io ImportError: /share/apps/Python-2.7.13/lib/python2.7/lib-dynload/_io.so: undefined symbol: _PyCodec_LookupTextEncoding

나는 시도를 파이썬 2.7.12와 동일한 결과를 보입니다. 그러나 미리 작성된 python 2.7.12 릴리스로 get-pip.py를 실행하면 정상적으로 작동합니다.

EDIT : nm -g와 함께 /share/apps/Python-2.7.13/lib/python2.7/lib-dynload/_io.so를 확인했는데 심볼이있는 것 같습니다 (U _PyCodec_LookupTextEncoding)

어떤 도움을 크게 더 많은 비트를 파고 후, 사전에 감사 나베

+0

스택 트레이스가 비 모노 스페이스 글꼴로 보이는 방식을 싫어합니다. 아마 더 좋은 방법이있을 것입니다. –

답변

1

을 이해할 수있을 것이다, 나는 문제를 발견했다. _io.so에서 기호가 정의되지 않았습니다. 나는이 라이브러리를 ldd로 배웠고 이전 버전의 libpython2.7.so (새 버전에서 심볼을 정의하는 라이브러리)를 가리킨다는 것을 알게되었습니다.

linux-vdso.so.1 => (0x00007fffb68d5000) libpython2.7.so.1.0 => /opt/python/lib/libpython2.7.so.1.0 (0x00007f4240492000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f424025f000) libc.so.6 => /lib64/libc.so.6 (0x00007f423fecb000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f423fcc7000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f423fac3000) libm.so.6 => /lib64/libm.so.6 (0x00007f423f83f000) /lib64/ld-linux-x86-64.so.2 (0x000000337b000000)

나는이 문제를 해결하고 문제를 해결 : 내 LDD_LIBRARY_PATH에서 이전/옵션/파이썬/lib 디렉토리를 가지고 있기 때문이다.