2009-12-23 2 views
7

저는 파이썬 스크립트가 세 가지 모두에서 작동 할 것이라고 확신합니다.하지만 확실히하고 싶습니다. 필자는 CPython, Jython, IronPython을 작성할 수있는 편집자에 관해서 여기 저기 읽었습니다. 나는이 구별을 많이보고 싶어합니다.CPython, IronPython, 자이 썬 스크립트는 서로 호환 가능합니까?

내 상황은 테스트하고 싶은 3 가지 api가 있습니다. 각 api는 동일한 기능 코드를 현명하게 수행하지만 구현이 다릅니다. 각 언어의 api 주위에 래퍼를 쓰고 있습니다. 각 래퍼는 Boost :: python, Jython 및 IronPython을 사용하여 파이썬에 똑같은 기능과 구현을 제공해야합니다.

제 질문은 파이썬 스크립트가 파이썬의 세 가지 "맛"모두에서 작동하는 이러한 노출 된 메서드 (각 언어에 공통적 인)를 사용하여 작성하겠습니까?

나는 대답이 '당연히'라고 확신하는 것처럼 말하지만, 나는 이것에 대해 너무 많은 시간을 할애해야한다.

답변

10

짧은 대답은 : 때때로.

IronPython 위에 구축 된 일부 프로젝트는 CPython과 작동하지 않을 수 있으며 C로 작성된 CPython 모듈 (예 : NumPy)은 IronPython에서 작동하지 않습니다.

비슷하게 Jython은 언어 사양을 구현하지만 CPython과는 몇 가지 비 호환성이 있습니다 (예 : CPython 표준 라이브러리의 일부가 없으며 Swing과 같은 Java 표준 라이브러리 패키지 및 클래스를 가져올 수 있음).)

그렇습니다. 비 호환성을 피하는 한 그렇습니다.

+0

좋아, 파이썬에서 사용하고있는 라이브러리를 감지하는 데 대한 몇 가지 게시물을 읽었으므로 호환되지 않는 것이 최소한으로 유지되는 한이 방법은 매우 잘 작동합니다. 감사합니다. – Charles

+2

@Charles : 또한 다른 Python 해석기 (Jython, IronPython) 각각은 CPython을 따르지 않는 세부적인 문서를 제공합니다. 이러한 문서를 계속 주시하면 세 가지 모두에서 효과가있는 것을 지나서 빨리 알 수 있습니다. –

+0

은 ipython과 cpython을 비교합니다. http://en.wikipedia.org/wiki/IronPython#Differences_with_CPython은 아주 작게 보입니다. – zinking