2013-01-07 2 views
4

나는 실행중인 프로젝트가 pypy에서 실행된다. (그리고 이미 파이썬과 비교하여 좋은 스피드 업을 달성했다.) 그러나, 나는 파이썬 버전보다 빠른 한 가지 기능의 Cython 구현을 가지고있다. 그래서이 함수를 포함하고 싶습니다. , 따라서pypy는 cython 확장을 지원합니까?

ImportError: No module named foo 

pypy 지원 사이 썬을 수행

문제는 pypy합니다 (.so를가 실행 평 스크립트와 같은 폴더에있다하더라도)이 모듈을 찾을 수가 없다는 것입니다? 감사합니다. .

답변

7

Cython 확장자를 PyPy에서 사용할 수있게하려면, 다시 컴파일하고 PyPy로 다시 설치해야합니다. 나는 그것을 시작하기 위해 virtualenv를 사용할 것을 제안한다. 그러나 이것이 순전히 스피드 업을위한 것이라면, 나는 정말로 그렇게하지 못하게 할 것입니다. CPyext (CPython C API 에뮬레이션)는 속도가 매우 느리고 속도가 느려질 가능성이 큽니다. 반면, 최적화 된 Python은 Python에서 최적화 된 Cython (유형 포함)만큼 빠르게 실행되어야합니다.

건배, fijal

+0

HI의 fijal, 귀하의 조언을 주셔서 감사합니다. 이미 컴파일 된 .so 파일 (cython으로 컴파일 됨)이 있습니다. 가상 환경이란 무엇을 의미합니까? PyPy에 .so 파일의 위치를 ​​어떻게 알릴 수 있습니까? – user1829358

+1

* pypy를 사용하여 C 확장자 *를 컴파일해야하므로 CPython .so를 다시 사용할 수 없습니다. 일반적인 라이브러리 결과 규칙이 적용되며 Python 문서와 sys.path를 참조하십시오. virtualenv는 프로젝트입니다. 직접 google하시기 바랍니다. – fijal