5

저는 배포하려는 웹 응용 프로그램에서 친구와 함께 일하고 있습니다. 우리는 장고에서 작업하고 있습니다.종속성이있는 장고 오픈 소스 응용 프로그램 배포

잠재적 인 사용자가 최대한 배포하기 쉽도록하고 싶습니다. Django는 공유 된 설치 라이브러리를 많이 사용하고 있으며 최신 버전을 다운로드하고, 압축을 풀고, 설정 파일을 편집하거나, WordPress 등을 시작해야한다고 생각합니다.

레일스 스타일의 루비는 여러분의 보석과 플러그인을 벤더 디렉토리에 압축하여 의존 할 수있는 곳입니다.

모든 종속성을 묶어 응용 프로그램을 배포하는 유사한 장고 방법은 무엇입니까? 설치 후 의존성을 낮추기 위해 easy_install과 같은 것을 사용하지 않기를 바란다.

This Python Stack Overflow Answer 올바른 경로에있는 것처럼 보이지만 거기에 장고는 특별한 방법이 있습니까? 이 문제가 해결 되었습니까?

답변

1

이것은 장고 "재사용 가능한 응용 프로그램"의 큰 한계 중 하나입니다. "This week in Django"podcast에서 1 주일이나 2 주 전에 그들은 정확한 문제에 관해 이야기하고있었습니다. 그것은 합의가 된 것 같아요. 나는 동의합니다. 실제로 해결책이 없다는 것입니다.

아마도 가장 큰 분산 장고 프로젝트 인 Pynax를 보면 전체 시스템과 함께 앱을 묶어 놓은 것을 볼 수 있습니다.

파이썬 자체에는 몇 가지 패키지 배포판이 있습니다. 나는 ActiveState가 다른 것을 시작하는 중임을 알고 있습니다. 하지만 그럼에도 불구하고 모든 장고 앱이 패키징되지는 않습니다. 많은 것은 bitbucket, github 또는 google 소스에서만 발견됩니다. 그리고 그때조차도 모든 사람의 복사본을 얻으려면 수은, 자식 및 svn을 설치해야합니다.

당신은 기본적으로 여기에 2 가지 옵션이 있습니다

은 (ㅋ ㅋ @ 있음) :

  1. 는 사용자가 주어진 의존성을 설치하는 방법에 대한 문서를 포함하여 소스와 모든 종속의 사본을 포함

슬픈 목록입니다. 특히 실제로는 ruby ​​gem 시스템을 사용한 후에을 사용합니다. 그러나 지금은 더 잘 찾을 수 있을지 잘 모르겠습니다.

관심이있는 경우, 프로젝트 폴더 (또는 SVN)에 종속성을 유지하고 그 경로를 장고 시작시 Python의 검색 경로에 추가하는 간단한 블로그 게시물을 작성했습니다. (Managing Django Dependencies via SVN) 그것은 Komodo Edit의 인텔리 센스를 엉망으로 만듭니다.

+0

이 번들링 전략은 레일스 사람들이하는 루비에 가장 가깝다고 생각합니다. – MattK

13

가장 좋은 방법은 pip을 사용하는 것입니다. pip는 python 패키지를 설치하는 유틸리티입니다. 프로젝트의 종속성을 나열하는 요구 사항 파일을 작성할 수 있습니다. pip는 꽤 일반적이며 Django 커뮤니티에서 널리 사용됩니다. 사용하는 것이 좋습니다.

T. Stone이 Pinax을 언급하면서 Django 기반 프로젝트는 많은 의존성을 가지며 pip 요구 사항 파일을 매우 성공적으로 사용합니다.

+0

또한 virtualenv/pip를 처음 사용하는 분이라면 http : // bit.ly/IFx0I – richleland

+0

정말이 질문에 대한 정답이어야합니다! – vdboor