setup.py 예제

이와 같은 패키지를 만든 후에는 다른 위치에서 일부 코드를 사용할 수 있습니다. 예를 들어, 노트북에서 이 작업을 수행할 수 있습니다: PYTHONPATH 환경 변수를 설정하거나 sys.path에 경로를 추가하여 패키지를 찾을 위치를 파이썬에게 알릴 수 있지만, 이는 이상적이지 않습니다: 다른 플랫폼에서 다른 작업이 필요합니다. 및 설정해야 하는 경로는 코드의 위치에 따라 다릅니다. 훨씬 더 좋은 방법은 pip가 다른 모든 패키지를 설치하는 표준 방법이므로 setup.py 및 pip를 사용하여 패키지를 설치하는 것입니다. 동일한 패키지(또는 모두 동일한 기본 패키지)에 여러 확장이 있는 경우 ext_package 키워드 인수를 사용하여 설정()을 사용합니다. 예를 들어,이 옵션은 python-distribute.org 관련이 있으며 사이트뿐만 아니라 더 오래되었기 때문에 내가 좋아하는 컴팩트한 setup.py 예제 중 하나를 가리키도록 하겠습니다. 예를 들어 스키마 파일이나 작은 조회 테이블일 수 있습니다. 이러한 파일은 코드와 함께 패키징되므로 일반적으로 대용량 파일을 포함하는 것이 좋습니다. 시퀀스의 각 (디렉터리, 파일) 쌍은 설치 디렉토리와 설치할 파일을 지정합니다. 디렉터리가 상대 경로인 경우 설치 접두사(순수 파이썬 패키지에 대한 Python의 sys.접두사, 확장 모듈이 포함된 패키지의 sys.exec_접두사)를 기준으로 해석됩니다.

파일의 각 파일 이름은 패키지 원본 배포의 맨 위에 있는 setup.py 스크립트를 기준으로 해석됩니다. 설치된 파일의 최종 위치를 결정하는 데 파일의 디렉터리 정보가 사용되지 않습니다. 파일 이름만 사용됩니다. 이렇게 하면 파일이 패키지에 포함되어 있는지 확인합니다. 예를 들어 패턴에 따라 모든 파일을 포함하도록 선택할 수 있습니다: Flake8의 구성 매개 변수 중 일부를 변경하려면 setup.cfg에 [flake8] 섹션을 추가할 수 있습니다. 예를 들어, 확장명이 배포 루트 아래의 포함 디렉토리에 헤더 파일이 필요한 경우 include_dirs 옵션을 사용합니다. 이 예제에서 foo.py: 다른 규칙을 사용하여 소스 디렉터리를 배치하는 경우 문제가 되지 않습니다. 예를 들어 모든 파이썬 소스를 lib 아래에 유지하여 “루트 패키지”(즉, 모든 패키지에 포함되지 않음)의 모듈이 lib에 있고 foo 패키지의 모듈이 lib / foo에 있는 등등 되도록 한다고 가정해 보겠습니다. 그런 다음 예제 프로젝트/데이터/schema.json에 배치하는 schema.json을 프로젝트에 넣었다고 가정합니다. 패키지에 이 것을 포함하려면 setup의 package_data 인수를 사용해야 합니다. 예를 들어 foo 및 bar 모듈이 패키지 foobar에 속하는 경우 소스 트리를 레이아웃하는 한 가지 방법은 마지막으로 setup.py 다음 릴리스에 대한 계획을 세게 하여 다음 버전(예: 0.2dev)을 나타내도록 버전 필드를 변경할 수 있습니다. 실제 예제를 원한다면 몇 가지 주요 프로젝트의 setup.py 스크립트를 가리킬 수 있습니다.

장고가 여기, 피글렛이 여기에 있습니다. setup.py 라는 파일에 대 한 다른 프로젝트의 소스를 찾아볼 수 있습니다 더 많은 예제에 대 한. 가장 작은 파이썬 프로젝트는 두 개의 파일입니다. 프로젝트에 대한 메타데이터를 설명하는 setup.py 파일과 프로젝트의 기능을 구현하는 Python 코드가 포함된 파일입니다. 3 : 또는 파이썬 setup.py 설치를 실행할 수 있지만 pip를 사용하면 종속성의 자동 설치와 패키지를 제거하거나 업데이트 할 수있는 많은 이점이 있습니다.

Posted in Uncategorised