2012-03-15 7 views
8

setuptools와 함께 Python 응용 프로그램을 어떻게 패키지화합니까? (예 : setup.py 또는 pip를 통해) 설치하면 적절한 위치에 데몬 스크립트가 시작되고 표시됩니다 부팅시 자동으로 시작 하시겠습니까?setuptools를 사용하여 Python 데몬을 패키지하는 방법

필자의 경우 내 코드는 Linux에서만 작동하므로 Linux 환경 (특히 Ubuntu)에 데몬을 설치하는 것이 중요합니다.

난 쉽게 파이썬 데몬을 만드는 방법을 severalpostsdescribing을 발견했습니다,하지만 난 아무것도 그들이 다른 일반 데몬으로 처리 될 것 있도록 프로덕션 환경에 설치하는 것입니다 방법을 설명 찾을 수 없습니다 또는 서비스.

우분투 및 기타 배포판은 /etc/init.d에 데몬을두고 있으며 파일 시스템의 특정 위치에 파일을 복사하는 방법을 알고 있으므로 필자의 스크립트를 복사하거나 심볼릭 링크하는 것이 안전할까요? /etc/init.d에 복사 한 다음 chkconfig를 실행하여 런타임을 설정하거나 데몬을 설치하는 데 더 안전한 배포 중립적 인 방법이 있습니까?

답변

3

distro에서 시작 스크립트의 위치를 ​​보장 할 수 없으므로 배포판에 적합한 패키지 (우분투의 경우 .deb)를 생성하면 더 잘 처리 할 수 ​​있습니다. 예를 들어, arch linux는 /etc/rc.d/를 사용합니다. 또한 그런 위치에 복사하려면 루트 액세스가 필요합니다 (필자가 반드시 파이썬 패키지를 설치해야한다고 생각하지는 않음). 제거 할 때 쉽게 되돌릴 수 없을 수도 있습니다.

정상적인 setupttools 설치를 작성한 다음 /etc/init.d에 대한 링크가 포함 된 deb로 패키지화하는 것이 좋습니다.

+0

흥미 롭습니다. 필자는 항상 파이썬 패키지를 설치하기 위해'sudo'를해야했지만, 루트가되는 것이 문제라고 생각하지 않습니다. – Cerin

+0

내가 잘못 생각할 수도 있지만 적어도 python3에서 사용자 별 위치 (예 : ~/.python 또는 기타)에 설치할 수 있다고 생각합니다 – aquavitae

+0

언제든지 virtualenv를 사용하여 원하는 패키지를 설치할 수 있습니다 – Dikei