아직 OP에 대한이 질문을 아무도 다루지 않았으므로 :
내가하고 싶은 것 :
"pip install ..."으로 파이썬 모듈을 설치 가능하게 만드십시오.
여기서 절대 최소한 예 및 제조에 사용 PyPI 패키지를 업로드하는 기본 단계를 도시한다 setuptools
과 twine
.
이것은 최소한 튜토리얼을 대체 할 수있는 것은 아니며 ,이 기본 예제에서 다루는 것보다 훨씬 더 많은 것이 있습니다.
패키지 자체를 만드는 것은 이미 여기에 다른 답변으로 덮여 있으므로 단계와 프로젝트 구조를 다음과 같이 가정합니다.
.
└── hellostackoverflow/
├── __init__.py
└── hellostackoverflow.py
setuptools
패키징 에 사용하려면 파일을 추가해야합니다 setup.py
. 프로젝트의 루트 폴더로 이동합니다.
.
├── setup.py
└── hellostackoverflow/
├── __init__.py
└── hellostackoverflow.py
최소한 패키지의 메타 데이터를 지정하면 setup.py
다음과 같습니다.
from setuptools import setup
setup(
name='hellostackoverflow',
version='0.0.1',
description='a pip-installable package example',
license='MIT',
packages=['hellostackoverflow'],
author='Benjamin Gerfelder',
author_email='benjamin.gerfelder@gmail.com',
keywords=['example'],
url='https://github.com/bgse/hellostackoverflow'
)
를 설정 license='MIT'
했으므로 LICENCE.txt
reStructuredText의 readme 파일과 함께 다음과 같이 프로젝트에 사본을 포함합니다 README.rst
.
.
├── LICENCE.txt
├── README.rst
├── setup.py
└── hellostackoverflow/
├── __init__.py
└── hellostackoverflow.py
이제을 사용하여 패키징을 시작할 준비가되었습니다. setuptools
아직 설치하지 않은 경우 다음을 사용하여 설치할 수 있습니다 pip
.
pip install setuptools
이를 수행 source distribution
하고 프로젝트 루트 폴더에서을 만들려면 setup.py
명령 줄에서 다음을 원합니다 sdist
.
python setup.py sdist
그러면 배포 패키지와 egg-info가 생성되고 다음과 같이 패키지가 포함 된 폴더 구조가 생성됩니다 dist
.
.
├── dist/
├── hellostackoverflow.egg-info/
├── LICENCE.txt
├── README.rst
├── setup.py
└── hellostackoverflow/
├── __init__.py
└── hellostackoverflow.py
이 시점 pip
에서 프로젝트 루트에서를 사용하여 설치할 수있는 패키지가 있습니다 (이 예제와 같이 모든 이름이 있다고 가정).
pip install ./dist/hellostackoverflow-0.0.1.tar.gz
모든 것이 잘된다면, 이제 파이썬 인터프리터를 열 수 있습니다. 혼란을 피하기 위해 프로젝트 디렉토리 외부 어딘가에 말하고 반짝이는 새 패키지를 사용해보십시오.
Python 3.5.2 (default, Sep 14 2017, 22:51:06)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from hellostackoverflow import hellostackoverflow
>>> hellostackoverflow.greeting()
'Hello Stack Overflow!'
패키지 설치 및 작동을 확인 했으므로 PyPI에 업로드 할 수 있습니다.
실험으로 라이브 저장소를 오염시키지 않기 위해 테스트 저장소에 대한 계정을 작성 twine
하고 업로드 프로세스를 설치 합니다.
pip install twine
이제 거의 계정이 생성 twine
되었으므로 패키지를 업로드하라는 메시지가 표시되면 자격 증명을 요청하고 패키지를 지정된 저장소에 업로드합니다.
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
이제 PyPI 테스트 저장소에서 계정에 로그인하여 새로 업로드 한 패키지를 잠시 동안 본 후 다음을 사용하여 가져올 수 있습니다 pip
.
pip install --index-url https://test.pypi.org/simple/ hellostackoverflow
우리가 볼 수 있듯이 기본 프로세스는 그리 복잡하지 않습니다. 앞서 말했듯이 여기에서 다루는 것보다 훨씬 더 많은 것이 있으므로 자세한 설명 은 자습서 를 읽으십시오 .