2010-04-30 6 views
2

일부 r 스크립트를 호출해야하는 Windows 시스템에서 아파치 서버 (mod_python)에서 실행되는 Django 앱이 있습니다. 이렇게하려면 os.system을 통해 r을 호출하는 것이 가장 쉽지만, django가 os.system 명령에 도달하면 멈추게됩니다. 나는 또한 같은 결과로 서브 프로세스를 시도했다.장고에서 os.system 명령을 실행할 수 없습니까?

장고는 컴퓨터의 파일 시스템에만 액세스 할 수 있기 때문에 모든 네트워크 드라이브가 보이지 않는 것처럼 보입니다. 매우 실망 스럽습니다.

두 가지 문제에 대한 아이디어 (두 경우 모두 동일한 제한 사항이라고 가정 함)가 가장 만족 스러울 것입니다.

답변

1

os.system 대신 RPy2이 필요하십니까? 나는 장고로 기술하고있는 것과 비슷한 경우에 그것을 사용했고, 꽤 잘 작동했다.

rpy2의 고급 인터페이스는 Python 프로그래머가 R을 쉽게 사용할 수 있도록 설계되었습니다. R 객체는 파이썬 구현 클래스의 인스턴스로 노출되며, R 함수는 여러 경우에 해당 객체에 대한 바운드 메소드로 사용됩니다.

+0

우리는 rPy2를 시험해 봤지만 복잡한 프로세스를 수행 할 때 꽤 많은 버그가있는 것처럼 보였습니다. 장기적으로 우리는 모든 스크립트를 파이썬 코드로 직접 변환 할 수 있습니다. 그러나 이제는 별도의 rscript가 데이터를 정확하게 처리하는 유일한 방법입니다. – danspants

+0

아니면 rpy2에서 rscript를 호출하는 것입니까? 내가 생각하지 않은 간단한 해결책! – danspants

+0

'rpy2.robjects.source' 함수를 스크립트 소스로 사용하려고 시도해보십시오. 그러나 네트워크 드라이브 문제와 관련이 있다면 효과적일까요? – ars

관련 문제