2014-01-16 2 views
0

나는 매우 신입 류 Cython입니다. 웹 개발 배경에서 왔습니다. 웹 개발에서 익숙한 워크 플로우와 비슷한 Cython 개발을위한 워크 플로가 있는지 궁금합니다.Cython 개발 워크 플로우?

예를 들어 CoffeeScript를 사용하여 Node.js 웹 앱을 개발할 때 CoffeeScript 소스의 변경 사항을 감시하고 .coffee 파일을 작성할 때마다 자동으로 소스를 자바 스크립트로 컴파일하는 Cakefile이 있습니다.

Cython 개발 환경에서 비슷한 것을 달성하는 적절한 방법은 무엇입니까?

+1

적어도 플라스크에서) 당신이 dev에 서버를 실행하는 경우 나뿐만 아니라 장고를 생각하는 과정은 모든 파일을 인터프리터를 모니터링 변경 사항이 있으면 dev 서버를 다시 시작합니다. 파이썬에는 컴파일 단계 (적어도 하나는 런타임과 별개)가 필요하기 때문에, 설명하는 것보다 관리하기가 조금 더 간단합니다. 비 로컬 시스템의 경우 일반적으로 개발 환경에서 응용 프로그램을 패키지/배포/다시 시작하기 위해 VCS에 사후 커밋 훅을 설정합니다. –

+1

@SilasRay, 명확히하기 위해 웹 앱을 실제로 개발하지 않고 Python 외에도 Cython을 작성하고있다. Cython은 Python과 비슷하지만 컴파일 단계가 있습니다. 따라서 Cython을 자동으로 컴파일하는 개발 워크 플로우 (비 웹)를 찾고 있습니다. – Will

답변

3

우선, 내 경험에 비추어 볼 때 이러한 종류의 워크 플로는 특히 웹 개발 외부에서는 일반적이지 않습니다. 그러나, 당신이 요구하는 것에 적어도 가깝게 오는 몇 가지 옵션이 있습니다.

SCons와 같은 자동화 된 빌드 도구를 사용하고 싶을 수 있습니다. Cython 개발자도 build tool을 제공합니다.

그런 다음 setuptools/distutils가 있습니다. 대부분 파이썬 소프트웨어 패키징 용이지만 C 확장 빌드를 지원합니다. 제 생각에 이것은 공유 객체로 Cython 소스를 빌드하는 정식 방식입니다. pyximport를 사용하여 간단히과 같이 사이 썬 모듈을 가져올 수 있습니다 : pyximport 자동으로 모듈을 컴파일 이후

import pyximport; pyximport.install() 
import foo 

당신은 다음 컴파일에 대해 걱정할 필요가 없습니다 또 다른 대안 사이 썬 자체의 일부가있다

필요한 경우 가져 오기.

나는 적어도 당신이 찾고 있던 무슨 유사 다음 옵션 중 하나를 바랍니다;

+0

감사합니다. 'pyximport'는 제가 그런 워크 플로우에 대한 필요성을 완전히 없애기 때문에 제가 찾고있는 것과 가장 가까운 것입니다. 그런 다음 배포본을 배포 할 때 모든 것을 한 번 컴파일하고 제공합니다. – Will