2011-09-09 3 views
5

파이썬 코드를 웹 프론트 엔드와 소비자 백엔드로 분리했습니다. 백엔드는 일부 자바 라이브러리와의 상호 운용성을 위해 자이 썬에서 실행되어야하지만 우리는 자이 썬에서 Jetty를 사용하여 실행 한 메모리 문제 때문에 cpython/mod_wsgi에서 웹 서버를 실행하려고한다.virtualenv에 Python/jython이 공존합니다.

우리는 virtualenv를 개발 용으로 사용하고 있으며, 현재 virtualenv 디렉토리가 두 개 있는데, 하나는 cpython 용이고 다른 하나는 jython 용입니다. 내 질문은 두 통역사가 하나의 가상 라이브러리에 행복하게 공존 할 수 있는지 여부입니다 (기본적으로 설치된 라이브러리를 두 번 업데이트해야하는 것을 방지하기 위해뿐만 아니라 호기심에서도).

virtualenv -p python environ 
virtualenv -p jython environ 

내가 모두 통역을 실행할 수 있고, 그래서을 와 환경/lib 디렉토리/사이트 패키지싸다는/lib 디렉토리/파이썬/사이트 패키지를 심볼릭 링크 할 수 있습니다 둘 다 통역과 동일한 환경을 초기화 한 둘 다 똑같은 곳을 바라보고 있다고. C 확장/최적화에 의존하는 라이브러리가 없다면 두 통역사 모두에서 작동하지 않는 이유를 알 수 없습니다. 누구든지 동의하지 않거나 추가로주의해야 할 사항이 있습니까?

답변

0

2 가지가 공존 할 수없는 이유는 알 수 없습니다. 완전히 다른 인프라를 사용하고 .py 파일 만 공유합니다. 자이 썬은 자바 프로그램이고, 파이썬은 C이다. 자이 썬은 $ class 파일로 컴파일하고 파이썬은 .pyc로 컴파일한다.

(Jython에서 C 기반 모듈을 피하는 것 외에는)주의해야 할 점은 PYTHONPATH와 JYTHONPATH를 동일한 값 (Jython은 PYTHONPATH를 사용하지 않음)으로 설정한다는 것입니다.