2013-07-20 4 views
1

일부 데이터를 데이터베이스에 저장하고 표시하고 필터링하고 내보내려면 장고 앱을 작성했습니다. DICOM 파일에서 소스 데이터를 추출하여 데이터베이스에 삽입하는 몇 가지 추가 파이썬 루틴을 작성했습니다.패키지 된 앱의 경우 어떻게 프로젝트 이름과 경로를 가져 옵니까?

나는이 루틴을 내 애플 리케이션 내의 폴더에 모듈로 넣었고 프로젝트 디렉토리를 sys.path에두고 DJANGO_SETTINGS_MODULE 값을 프로젝트 settings.py 파일을 가리 키도록 설정했다. 쉘이나 다른 파이썬 루틴에서 호출 할 수 있습니다.

그런 다음 Advanced tutorial on reusable apps에 따라 내 앱을 패키징하고 pip를 사용하여 다른 서버에 설치했습니다. 응용 프로그램은 site-packages 디렉토리에 설치됩니다. 그런 다음 새 프로젝트의 INSTALLED_APPS 목록에 앱을 추가하고 웹 브라우저 등에서 내 앱을 볼 수 있습니다.

추가 파이썬 스크립트에 이름과 위치를 삽입하는 방법을 생각해 낼 수 없습니다. 계획.

pip install -t projectfolder app.tar.gz을 사용하여 수동으로 프로젝트 이름을 설정하고 프로젝트 경로가 작동하는 내 스크립트 위에 두 개의 폴더가 있다고 가정합니다.

그러나 새로운 버전을 사용하면 pip은 기존 폴더에 쓰려고 시도하기 때문에 앱을 업그레이드 할 수 없으며 거기에 없을 것으로 예상되므로 실패합니다. 또한 설치된 앱으로 표시되지 않습니다.

또한 내 스크립트가 파이썬 사이트 패키지에 숨겨져있는 상태에서 쉽게 모듈을 가져올 수 있지만 명령 줄 (또는 셸 스크립트)에서 쉽게 호출 할 수 없습니다.

나는 대답을 검색하고 검색했다. 대부분의 자습서, 답변 및 블로그 게시물은 vcs에서 프로젝트 (앱 포함) 버전을 확인하는 것을 선호하지만 내 사용자는 반드시 알 필요는 없으며 대신 앱을 패키징하여 다운로드 및 사용.

답변의 일부를 보유하고있는 것처럼 보일 수있는 한 가지는 Fabric입니다. 처음에는 장고 프로젝트를 만들 때이 도구를 사용하여 호출되는 대상과 설치된 위치를 알 수 있습니다. 그러나 이것은 내가 OS를 nix로 제한 할 수 있다고 생각하며 사용자가 Windows에 설치할 수 있기를 바랍니다.

정보가 이미 전달 된 곳으로의 도움, 제안, 조언.

+0

프로젝트에도 setup.py가 있습니까? – ashwoods

+0

@ashwoods [튜토리얼 포인트 5] (https://docs.djangoproject.com/en/1.5/intro/reusable-apps/#packaging-your-app)의 예제를 모델로하여 setup.py를 만들었습니다. 이게 당신이 말하는 겁니까? –

+0

아니요, 앱 자체가 아닌 프로젝트입니까? – ashwoods

답변

0

인용 @ashwoods :

당신은 단지 재 사용 응용 프로그램을 게시하는 경우, 당신은 사용자가 프로젝트의 포장, 파이썬 경로 등 ... 관리 할 수 ​​있도록한다. 기능적 프로젝트를 배포하는 경우 프로젝트를 파이썬 모듈로 만들고이를 설치하십시오.