다음 myproj
과 같은 구조화 된 프로젝트가 있습니다.
/myproj
__init__.py
module1.py
module2.py
setup.py
내 setup.py
모습은 이렇게
from distutils.core import setup
setup(name='myproj',
version='0.1',
description='Does projecty stuff',
author='Me',
author_email='[email protected]',
packages=[''])
그러나이 장소 module1.py
와 module2.py
에서 디렉토리를 설치합니다.
setup
디렉토리 /myproj
와 모든 내용이 설치 디렉토리에 놓 이도록 지정하는 방법은 무엇입니까?
myproj
이 프로젝트 의 루트 디렉토리 에서 그 아래에 이름이 지정된 디렉토리로 이동 module1.py
하고 Python <3.3 호환성을 유지하려면 여기에 .py를 추가하십시오 .module2.py
myproj
__init__
├── myproj
│ ├── __init__.py
│ ├── module1.py
│ └── module2.py
└── setup.py
setuptools
distutils 대신 사용을 고려할 수도 있습니다 . setuptools
이 파일을 훨씬 쉽게 설정할 수 있도록 더 많은 도우미 메서드와 추가 속성을 제공합니다. 이것은 setup.py
위의 프로젝트에서 구성 할 최소한의 것입니다.
from setuptools import setup, find_packages
setup(name='myproj',
version='0.1',
description="My project",
author='me',
author_email='[email protected]',
packages=find_packages(),
)
설치를 실행하면 다음과 같은 줄이 표시됩니다.
copying build/lib.linux-x86_64-2.7/myproj/__init__.py -> build/bdist.linux-x86_64/egg/myproj
copying build/lib.linux-x86_64-2.7/myproj/module1.py -> build/bdist.linux-x86_64/egg/myproj
copying build/lib.linux-x86_64-2.7/myproj/module2.py -> build/bdist.linux-x86_64/egg/myproj
이는 설정 스크립트가 필요한 소스 파일을 선택했음을 나타냅니다. Python 인터프리터 (이 프로젝트 디렉토리 외부가 바람직 함)를 실행하여 해당 모듈을 가져올 수 있는지 확인합니다 (상대 가져 오기 때문이 아님).
반면, 루트 수준에서 이러한 모듈을 제공하려면 py_modules
명시 적으로 선언해야합니다 .
마지막으로, Python Packaging User Guide 는 배포 가능한 Python 패키지 빌드에 대해 누구나 가질 수있는보다 구체적인 질문에 대한 좋은 리소스입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다