, 당신은 그 아래 myproj
라는 이름의 디렉토리에 module1.py
및 module2.py
를 이동하려면, 당신은 파이썬 < 3.3 호환성을 유지하고자하는 경우, 거기에 __init__
평을 추가합니다.
├── myproj
│ ├── __init__.py
│ ├── module1.py
│ └── module2.py
└── setup.py
distutils 대신 setuptools
을 사용할 수도 있습니다. setuptools
은이 파일을 훨씬 쉽게 설정할 수 있도록 도와주는 더 많은 방법과 추가 특성을 제공합니다. 이 같은 라인을 볼 수 설치를 실행
from setuptools import setup, find_packages
setup(name='myproj',
version='0.1',
description="My project",
author='me',
author_email='[email protected]',
packages=find_packages(),
)
: 이것은 내가 위의 프로젝트를 위해 구성 할 최소한의 setup.py
입니다 이것은 설치 스크립트가 필요한 소스를 집어 것을 의미
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 패키지를 만드는 데 대해 더 구체적인 질문이있는 훌륭한 자료입니다.
그래서 다른 사람들이'import myproj.module1'을 통해 가져 오기를 원한다고합니까? – metatoaster
'setup.py'는 프로젝트 디렉토리 안에 있으면 안됩니다 .... –
@metatoaster yes. – piRSquared