2009-07-12 2 views
28

커맨드 라인에서 사용할 파이썬 스크립트를 만들었습니다. 포장하려면 어떻게해야합니까? 이것은 첫 번째 파이썬 패키지이며 setuptools에 대해 조금 읽었습니다.하지만이 작업을 수행하는 가장 좋은 방법은 아직 확실하지 않습니다.커맨드 라인 파이썬 스크립트 패키지화 방법


솔루션

내가 키 구성으로 setup.py를 사용하여 결국은 다음과 같이 언급

setup(
.... 
    entry_points=""" 
[console_scripts] 
mycommand = mypackage.mymodule:main 
""", 
.... 
) 

여기 상황에서 좋은 example입니다.

+0

플랫폼을 대상으로 패키지뿐만 적용되지 않을 수도 있습니다 (들)에 배포 할 예정입니까? – ChristopheD

+0

이상적으로 * nix 또는 windows. – Zach

답변

3

@Zach, @ soulmerge의 답변에 대한 귀하의 의견을 바탕으로, 당신이 필요로하는 것 같습니다 distutils에 관한 지침에 따라 setup.py를 작성하는 것입니다 특히 당신이 pypi에 등록하는 방법입니다, 그리고 을 등록한 후에 어떻게 업로드 할 것인가? 그리고 가능하다면 (distutils가 제공하는 추가 기능이 필요하다면) easy_install 인 setuptools를 지침 here을 통해 추가하십시오. 여기에 명시된

+0

이 답변은 다행히도 조금 오래되었습니다. 좋은 정보 출처는 https://packaging.python.org/en/latest/뿐 아니라 필자가 내 대답에서 지적한 기사입니다. –

2

포장이란 무엇을 의미합니까? 이미 파이썬이 설치된 상자에서 실행될 단일 스크립트라면 파일의 첫 번째 줄에 shebang을 넣으면됩니다.

Windows 또는 파이썬이없는 상자에서 실행하려면 pyinstaller과 같은 외부가 필요할 것입니다.

구성/데이터 파일을 저장할 위치에 관한 질문이있는 경우 알고있는 한 플랫폼에 따라 (예 : registry 또는 home folder에 글쓰기와 같이) 작업해야합니다.

+0

두 개의 파이썬 파일로 구성됩니다.예를 들어 PiPy에 배포되도록 패키지를 만들고 easy_install을 사용하여 설치하려고합니다. – Zach

4

오히려 절차의 setuptools에 비 표준적인 방법을 사용하는 것보다, 직접 scripts 인수를 사용하여, distutils 설정의 기능에 의존 할 수 있습니다 : http://docs.python.org/distutils/setupscript.html#installing-scripts

from distutils import setup 
setup(
    ..., 
    scripts=['path/to/your/script',], 
    ... 
) 

그것은 당신이 머물 수 있도록 호환) 모든 파이썬 버전 및 b) 외부 종속성으로 setuptools에 의존 할 필요가 없습니다.

1

지난 달, 나는 정확하게 당신의 질문에 답하는 기사를 작성했습니다. ,이 http://gehrcke.de/2014/02/distributing-a-python-command-line-application/

를 파이썬 2와 3에 대한 작동하는 유일한 현재 권장되는 방법 (꼬기, 대신의 distutils의 순수 setuptools에의 entry_points 사전에 console_scripts 키, ...)을 사용하고 있습니다 : 당신은 여기에서 찾을 수 있습니다.

0

파이썬 패키징의 초보자 인 분께는 Python Packaging Tutorial을 살펴 보시기 바랍니다. 튜토리얼에 대한

참고 :이 때

이 문서는 파이썬 2.x에서에 초점을 맞추고, 파이썬 3.x를