2014-09-10 4 views
0

몇 가지 파이썬 스크립트를 배포하려고합니다. 스크립트는 docopt와 같은 몇 개의 별도 패키지를 사용하며 물론 다양한 라이브러리를 사용합니다. 이드는 스크립트를 제대로 작동시키는 데 필요한 모든 것과 함께 패키징 할 수 있기를 바랍니다.setuptools를 사용하여 파이썬 스크립트 배포 방법 이해하기

나는 이것을하기위한 가장 좋은 방법은 setuptools와 setup.py 스크립트를 사용하는 것입니다. 어떤 id가 알고 싶은 것은 setuptools가 스크립트에서 어떤 패키지와 라이브러리를 사용하고 있는지 식별 할 수 있으며, 현재 위치의 모든 관련 패키지를 다른 패키지에 자동으로 복사하여 'New Package'생성에 사용합니다. 아니면 수동으로 시스템에 패키지 설치를 찾아서 '새 패키지'생성을 위해 관련 폴더에 복사해야합니까?

필자는 setuptool 워드 프로세서를 읽었지 만 필자가 수동으로해야하는 것처럼 읽었습니다. 그렇다면 모든 관련 패키지와 라이브러리가 시스템에있는 정확한 위치를 어떻게 알 수 있습니까?

내가 이것을 제대로 이해하고 있는지 누군가가 알 수 있습니까?

+0

직접 해보지 않고 사용해보십시오. – martineau

+0

나는 내 이해가 정확한지 물어 보는 이유를 보았다. 내가 생각하는 것처럼 수작업만큼이나 이상 할 것 같다. 반드시 자동으로 처리 할 수 ​​있어야합니다. – iNoob

+0

@martineau 필자는 setuptools 문서와 distutil 문서를 읽었습니다. 방금 기본 메타 데이터를 사용하여 setup.py를 만든 다음 setup.py dist를 사용하여 패키지를 만들려고했습니다. 예상대로 그것은 아무것도 내 스크립트 파일과 setup.py 파일 dist dist 디렉토리를 만들 구매 않습니다.내 스크립트에 사용 된 모듈, 라이브러리 중 하나도 dist 디렉터에 복사되지 않습니다. 모든 패키지를 수동으로 같은 디렉토리에 저장하는 것을 의미한다고 생각하기에 안전합니까? – iNoob

답변

1

좋아, 마침내 제대로 작동했습니다.

다른 사람이이 게시물을 우연히 만나 어떤 일을 단순히 알고 싶어합니다.

아이디어는 당신이 공유하고 싶은 스크립트를 가지고 있지만,이 스크립트는 다양한 다른 모듈, 패키지 등을 사용합니다. 마지막으로 누군가가하기를 원하는 것은 휴지의 수동 패키지를 만들기 위해 모두 함께 폐기하기 시작하는 것입니다.

setup.py 파일을 만들고 스크립트에 포함 할 패키지를 지정하면이 기능을 모두 자동화 할 수 있습니다. 모든 "필수 패키지"의 자동화 된 포함은 설치 프로세스 중에 수행됩니다 (따라서 누군가가 새로 공유 한 스크립트를 가지고 easy_install을 사용하여 설치합니다).

스크립트 용 배포 패키지를 생성하려면 다음을 수행해야합니다.

  • 포함 할 패키지를 확인하십시오 (코드 체크 아웃).
  • 스크립트를 새 폴더로 이동하십시오 (패키지 컨테이너가됩니다).
  • post의 지침에 따라 배포판에있는 관련 파일을 만드십시오. ("install_requires"필드에 유의하십시오.)
  • 명령 줄에서 python setup.py sdist을 실행하여 현재 작업 디렉토리가 새 패키지의 디렉토리인지 확인하십시오.
  • 배포 패키지가 dist 디렉토리에 있습니다.
  • 친구에게 전달하십시오. 그들은 here에서 setuptools/easy_install을 설치해야합니다.
  • 설치되면 easy_install packagename-0.1.0.tar.gz을 실행하여 패키지를 설치할 수 있습니다. 이제 모든 필수 패키지와 물론 스크립트가 설치됩니다.
관련 문제