2012-01-16 3 views
3

Java 내의 Jython에서 아주 간단한 작업을 수행하려고합니다. 내 파이썬 경로 및 exension에 의해, 내 자이 썬 경로로 설정되어 다음Jython 2.5.1은 Python 2.7과 호환되지 않습니까?

$ python -c "import sys ; ':'.join(sys.path)" 
:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PIL:/usr/lib/python2.7/dist-packages/gst-0.10:/usr/lib/python2.7/dist-packages/gtk-2.0:/usr/lib/pymodules/python2.7:/usr/lib/python2.7/dist-packages/ubuntu-sso-client:/usr/lib/python2.7/dist-packages/ubuntuone-client:/usr/lib/python2.7/dist-packages/ubuntuone-control-panel:/usr/lib/python2.7/dist-packages/ubuntuone-couch:/usr/lib/python2.7/dist-packages/ubuntuone-installer:/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol:/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode 

(더 쉬운 목록을 읽어 here 찾을 수 있습니다.) 나는 정의하여 내 자이 썬 경로를 설정 한

-Dpython.path=":/usr/lib/python2.7:..." 그리고 상당히 잘 작동합니다. 나는 os 모듈 수입과 같은 중요한 무엇을 수행하려고 할 때마다

그러나 나는 문제가 발생을하고 있습니다 :

>>> import os 
Exception in thread "main" Traceback (most recent call last): 
    File "<iostream>", line 2, in <module> 
SyntaxError: ('no viable alternative at input \'""\'', ('/usr/lib/python2.7/os.py', 754, 18, '   bs = b""\n')) 

잘못 무슨 일이야? Jython은 Python 2.7과 호환되지 않습니까? 일을 제대로하려면 무엇을 할 수 있습니까?

답변

5

Python 버전과 구현을 함께 사용할 수 없습니다. 사용하는 Cpython은 2.7이고 자이 썬은 2.5이므로 Cpython 2.5 및 2.7에서이 경로를 사용하더라도 동일한 경로를 사용할 수 없습니다.

실제 오류는 jython이 파이썬 C 라이브러리를로드하여 자이 썬이 갖고 있지 않은 C 코드를 호출하는 코드.

같은 버전의 순수한 파이썬 코드를 공유 할 수 있습니다. 파이썬 2.5 및 자이 썬 2.5를 지원하지만 다른 혼합을 관리 할 가능성은 거의 없습니다.

관련 문제