저는 CentOS 6.5를 사용하고 있으며 저장소에서 사용할 수 있는 것보다 최신 버전의 Python, lxml, libxml2 및 libxslt2를 사용하고 싶습니다.
그래서 libxml2, libxslt2 및 python 2.7.8을 처음부터 빌드하고 모든 바이너리 경로를 $PATH에 추가했습니다. "xml2-config --cflags --libs"에는 libxml 라이브러리의 올바른(사용자 정의) 위치가 포함되어 있습니다.
python-2.7.8configure/make/make를 내 홈 디렉토리에 설치하고 해당 bin을 내 경로에 추가했습니다. "python setup.py install"을 통해 setuptools를 설치한 다음 easy_install pip를 설치하세요.
마지막으로, pip install lxml...이것은 내 libxml의 올바른 위치를 찾았습니다.
그러나 "lxml import etree"는 최신 버전의 libxml이 필요하기 때문에 실패하지만 /usr/lib64/libxml을 보고 실패합니다.
내 libxml 위치를 감지하지 못하는 이유는 무엇입니까? lxml을 설치할 때는 감지하지만 가져올 때는 감지하지 못합니까?
ImportError: /usr/lib64/libxml2.so.2: 'LIBXML2_2.9.0' 버전을 찾을 수 없습니다(/home/hsundara/packages_installed/python-2.7.8/lib/python2.7/site-packages/lxml/etree에 필요함) .그래서)
그러나 그것이 지어지고 있을 때-
다음 디렉터리 중 하나에 있는 libxml2/libxslt에 대해 빌드합니다.
/home/hsundara/packages_installed/libxslt-1.1.28/lib
/home/hsundara/packages_installed/libxml2-2.9.1/lib
해결책이 있나요?
답변1
구성할 수 있어야 합니다.lxml자신만의 버전을 찾아보세요libxml2그리고라이브러리 파일--auto-rpath
설치 옵션을 사용하십시오 .
먼저 현재 버전을 제거합니다.lxml.
pip uninstall lxml
그런 다음 경로에 xml2-config
및 를 추가하십시오.xslt-config
export PATH=/home/hsundara/packages_installed/libxslt-1.1.28/bin:/home/hsundara/packages_installed/libxml2-2.9.1/bin:$PATH
마지막으로 설치lxmlauto-rpath
설치 옵션 전달 :
pip install lxml --install-option="--auto-rpath"