[python] Setup.py은 (는) 무엇 이죠?

누구나 무엇이 무엇 setup.py이고 어떻게 구성 또는 사용할 수 있는지 설명해 주 시겠습니까?



답변

setup.py 파이썬 파일이며, 일반적으로 설치할 모듈 / 패키지가 Python 모듈 배포 표준 인 Distutils와 함께 패키지되고 배포되었음을 알려줍니다.

이를 통해 Python 패키지를 쉽게 설치할 수 있습니다. 종종 다음과 같이 작성하면 충분합니다.

$ pip install . 

pipsetup.py를 사용하여 모듈을 설치합니다. setup.py직접 전화하지 마십시오 .

https://docs.python.org/3/installing/index.html#installing-index


답변

다른 프로젝트와 [I] Python 프롬프트에서 패키지 를 가져올 수 있도록 foo컴퓨터에 python 패키지를 설치하는 데 도움이됩니다 (에있을 수도 있음 virtualenv) foo.

그것은의 유사한 작업 수행 pip, easy_install


사용 setup.py

몇 가지 정의부터 시작하겠습니다.

패키지__init__.py파일 이 들어있는 폴더 / 디렉토리 .
모듈.py확장명을 가진 유효한 파이썬 파일 .
배포 -하나의 패키지 가 다른 패키지모듈 과 관련되는 방법 .

라는 패키지를 설치한다고 가정 해 봅시다 foo. 그런 다음

$ git clone https://github.com/user/foo  
$ cd foo
$ python setup.py install

대신 실제로 설치하고 싶지 않지만 여전히 사용하고 싶다면. 그런 다음

$ python setup.py develop  

이 명령은 복사하지 않고 사이트 패키지 내의 소스 디렉토리에 대한 심볼릭 링크를 만듭니다. 이 때문에 (특히 큰 패키지의 경우) 매우 빠릅니다.


만들기 setup.py

패키지 트리가 있다면

foo
├── foo
   ├── data_struct.py
   ├── __init__.py
   └── internals.py
├── README
├── requirements.txt
└── setup.py

그런 다음 setup.py일부 컴퓨터에 설치할 수 있도록 스크립트 에서 다음을 수행하십시오 .

from setuptools import setup

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='foomail@foo.com',
   packages=['foo'],  #same as name
   install_requires=['bar', 'greek'], #external packages as dependencies
)

대신 패키지 트리가 아래와 같이 더 복잡한 경우 :

foo
├── foo
   ├── data_struct.py
   ├── __init__.py
   └── internals.py
├── README
├── requirements.txt
├── scripts
   ├── cool
   └── skype
└── setup.py

그러면 setup.py이 경우 다음 과 같습니다.

from setuptools import setup

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='foomail@foo.com',
   packages=['foo'],  #same as name
   install_requires=['bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
)

( setup.py)에 더 많은 것을 추가하고 괜찮게 만드십시오.

from setuptools import setup

with open("README", 'r') as f:
    long_description = f.read()

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   license="MIT",
   long_description=long_description,
   author='Man Foo',
   author_email='foomail@foo.com',
   url="http://www.foopackage.com/",
   packages=['foo'],  #same as name
   install_requires=['bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
)

long_description사용된다 pypi.org 패키지의 README 설명한다.


마지막으로 PyPi.org에 패키지를 업로드 할 준비가 되었으므로 다른 사용자 가을 사용하여 패키지를 설치할 수 있습니다 pip install yourpackage.

첫 단계는 다음을 사용하여 패키지 이름과 공간을 pypi로 청구하는 것입니다.

$ python setup.py register

패키지 이름이 등록되면 아무도 그것을 주장하거나 사용할 수 없습니다. 등록이 완료되면 다음과 같은 방법으로 패키지를 클라우드에 업로드해야합니다.

$ python setup.py upload

필요에 따라 패키지에 서명 할 수도 있습니다 GPG.

$ python setup.py --sign upload

보너스 : setup.py실제 프로젝트 의 샘플 을 여기에서보십시오 :torchvision-setup.py


답변

setup.py다중 플랫폼 설치 프로그램 및 make파일에 대한 Python의 답변 입니다.

명령 줄 설치에 익숙하면로 make && make install번역됩니다 python setup.py build && python setup.py install.

일부 패키지는 순수 Python이며 바이트 컴파일 만 가능합니다. 다른 코드에는 네이티브 코드가 포함되어있을 수 있으며,이 경우 네이티브 컴파일러 (예 : gcc또는 cl)와 Python 인터페이스 모듈 (예 : swig또는 pyrex)이 필요합니다.


답변

루트 폴더에 “setup.py”가있는 패키지를 다운로드 한 경우 다음을 실행하여 설치할 수 있습니다.

python setup.py install

프로젝트를 개발 중이고이 파일이 어떤 것이 유용한 지 궁금하다면 설정 스크립트 작성에 관한 Python 문서를 확인하십시오.


답변

setup.py일반적으로 해당 언어로 작성된 라이브러리 또는 프로그램과 함께 제공되는 Python 스크립트입니다. 소프트웨어를 올바르게 설치하는 것이 목적입니다.

많은 패키지가 distutils와 프레임 워크를 사용합니다 setup.py.

http://docs.python.org/distutils/


답변

setup.py는 두 가지 시나리오에서 사용할 수 있습니다. 먼저 Python 패키지를 설치하려고합니다. 둘째, 자신의 Python 패키지를 만들고 싶습니다. 일반적으로 표준 Python 패키지에는 setup.py, setup.cfg 및 Manifest.in과 같은 몇 가지 중요한 파일이 있습니다. Python 패키지를 만들 때이 세 파일은 (계란 정보 폴더 아래 PKG-INFO의 내용) 이름, 버전, 설명, 기타 필요한 설치 (일반적으로 .txt 파일) 및 기타 몇 가지 매개 변수를 결정합니다. setup.cfg는 패키지가 작성되는 동안 setup.py에 의해 읽 힙니다 (tar.gz 일 수 있음). Manifest.in은 패키지에 포함될 내용을 정의 할 수있는 곳입니다. 어쨌든 setup.py를 사용하여 많은 것을 할 수 있습니다.

python setup.py build
python setup.py install
python setup.py sdist <distname> upload [-r urltorepo]  (to upload package to pypi or local repo)

setup.py와 함께 사용할 수있는 다른 명령들이 많이 있습니다. 도와주기 위해

python setup.py --help-commands


답변

setup.py터미널 (Mac, Linux) 또는 명령 프롬프트 (Windows) 를 열어 패키지를 다운로드 할 때 cd Tab 버튼을 사용 하고 도움을 받으면 파일을 다운로드 한 폴더와 경로가있는 폴더의 경로를 바로 설정하십시오 setup.py.

iMac:~ user $ cd path/pakagefolderwithsetupfile/

Enter 키를 누르면 다음과 같이 표시됩니다.

iMac:pakagefolderwithsetupfile user$

그런 다음 다음을 입력하십시오 python setup.py install.

iMac:pakagefolderwithsetupfile user$ python setup.py install

를 누릅니다 enter. 끝난!