2013-06-21 6 views
4

나는 SUSE Enterprise Server 11을 실행중인 고객이 있습니다.이 고객은 PyUNO이라는 OpenOffice-Python-Bridge에서 장고 프로젝트를 사용하고 싶습니다. 그것은 mod_wsgi와 함께 apache2를 실행하고 virtualenv 또는 뭔가가 없습니다. django에서 PyUNO를 실행합니다

나는 PYTHONPATH에 관련 경로를 추가,하지만 난 쉘 python manage.py shell을 실행하고 import uno하려고하면이 오류를 얻을 :

dynamic module not initialized properly 

그것은 오픈 오피스 3.4, (모두 SUSE-DVD에서 파이썬의 2.6.x의).

Google은 나를 시스템 변수 LD_LIBRARY_PATH으로 안내했지만, 설정하자마자 파이썬이 더 이상 장고를 찾을 수 없으므로 더 이상 쉘을 시작할 수 없습니다. (PYTHONPATH는 어떻게 든 부러진 것으로 보입니다). 또 다른 일반적인 제안 인 ldconfig -v /path/to/openoffice/program/을 실행하면 그 결과는 같습니다.

위의 작업 중 하나를 수행 한 후에 시스템 전체의 파이썬을 실행하고 uno를 가져올 수 있습니다. 하지만 장고가 없기 때문에 더 이상 장고 셸을 실행할 수 없습니다.

(unset LD_LIBRARY_PATH 또는 ldconfig을 통해) LD_LIBRARY_PATH를 재설정하면 "이전"상태가됩니다.

OpenOffice에는 python-binary가 번들로 제공됩니다. 이것은 오류없이 uno를 가져올 수 있습니다.

는 결과 : 나는 오픈 오피스와 함께 제공되는 파이썬 버전을 사용하는 아파치에게 어떻게 든 다른 uno.py를 사용하거나에 대해 생각했다. 어떻게 이런 식으로 할 수 또는 파이썬 - 아파치에 의해 사용되는 버전에 종속성을 추가 할 수 있습니까? 또는 어떤 버전의 오픈 오피스/피노가 내 문제를 해결할 수 있습니까? SUSE 소스에서 mod_wsgi와 python을 건드리지 않으려합니다.

또한 LD_LIBRARY_PATH에 대한 몇 가지 힌트가 도움이 될 수 있습니다.

+0

'LD_CONFIG_PATH' 대신'LD_LIBRARY_PATH'를 설정하면 작동합니까? – Aya

+0

아, 미안 해요. 그것은 내가 이미 사용한 변수입니다. 나는 그 질문을 편집 할 것이다. – Marius

+0

글쎄,'LD_LIBRARY_PATH'가 설정되지 않은 상태에서 django 모듈을 가져올 수 있다면 단순히'LD_LIBRARY_PATH'를 설정해도 실패하지 않아야하며'PYTHONPATH'에 영향을 주어서는 안됩니다. django 쉘을 실행할 때 얻는 정확한 오류 메시지는 무엇입니까? – Aya

답변

2

LD_LIBRARY_PATH는 공유 라이브러리 (일반적으로 .so)의 검색 경로를 무시하는 변수입니다.

예를 들어 LD_LIBRARY_PATH =/opt/test/mylibs를 설정하면 모든 응용 프로그램에서 해당 위치의 공유 라이브러리를 검색합니다.

이렇게하면 django-shell이 ​​존재하지 않는 곳에서 라이브러리를 검색하기 때문에 django-shell을 실행할 수없는 이유를 알 수 있습니다.

LD_LIBRARY_PATH는 콜론 (:)으로 구분 된 여러 경로로 설정할 수 있습니다. 이렇게하면 LD_LIBRARY_PATH =/opt/test/mylibs를 내보낼 수 있습니다./opt/another/path

필요한 모든 라이브러리가있는 위치를 찾으면 LD_LIBRARY_PATH에 경로를 추가 할 수 있습니다. 당신의 문제를 해결하기에 충분합니다.

잘 모르겠지만, 이것이 참된 문제라면,이 변수의 의미에 대해 약간의 힌트를 얻을 수 있다고 생각합니다.

+0

Mh, 그게 도움이 될 수 있습니다. 적어도 시도해 볼만한 가치가 있습니다. 하지만 이전 LD_LIBRARY_PATH가 필요하므로 기존 항목을 덮어 쓰지 않고 관련 경로를 추가 할 수 있습니다. 누락 된 경로를 /etc/ld.so.conf에 추가하고 ldconfig를 다시 실행하려고합니다. 잘하면 도움이 될 것입니다. – Marius

+0

/etc/ld.so.conf.d/*.conf에 openoffice/program의 경로를 추가하는 것이 도움이되지 않았습니다. – Marius