복붙노트

[PYTHON] pip 설치가 github에서 작동 할 수 있도록 구성

PYTHON

pip 설치가 github에서 작동 할 수 있도록 구성

프로덕션 서버에 개인 패키지를 설치하려면 github와 함께 pip를 사용하고 싶습니다. 이 질문은 설치가 성공적으로 이루어지기 위해 github repo에 있어야 할 사항과 관련이 있습니다.

다음 명령 줄을 가정하면 (그냥 인증을하고 설치를 시도합니다) :

pip install git+ssh://git@github.com/BlahCo/search/tree/prod_release_branch/ProductName

ProductName에 무엇이 있어야합니까? setup.py를 sdist 옵션과 함께 실행 한 후 tar 파일에있는 내용입니까? 아니면 실제 tar.gz 파일입니까?

여러 변형을 시도 했으므로 작동하지 않을 수 있기 때문에 여기에서 묻습니다. 어떤 도움을 주셔서 감사합니다.

해결법

  1. ==============================

    1.setup.py 파일과 함께 전체 파이썬 패키지가 필요합니다.

    setup.py 파일과 함께 전체 파이썬 패키지가 필요합니다.

    foo라는 패키지는 다음과 같습니다.

    foo # the installable package
    ├── foo
    │   ├── __init__.py
    │   └── bar.py
    └── setup.py
    

    그리고 github에서 다음과 같이 설치하십시오.

    $ pip install git+https://github.com/myuser/foo.git@v123
    or
    $ pip install git+https://github.com/myuser/foo.git@newbranch
    

    자세한 내용은 https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support에서 확인하십시오.

  2. ==============================

    2.github repo에서 설치해야 할 때 비슷한 문제가 있었지만 git 등을 설치하고 싶지 않았습니다.

    github repo에서 설치해야 할 때 비슷한 문제가 있었지만 git 등을 설치하고 싶지 않았습니다.

    이를 수행하는 간단한 방법은 패키지의 zip 아카이브를 사용하는 것입니다. repo URL에 / zipball / master를 추가합니다.

        $ pip install https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master
    Downloading/unpacking https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master
      Downloading master
      Running setup.py egg_info for package from https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master
    Installing collected packages: django-debug-toolbar-mongo
      Running setup.py install for django-debug-toolbar-mongo
    Successfully installed django-debug-toolbar-mongo
    Cleaning up...
    

    이렇게하면 github 소스 저장소로 pip 작업을 할 수 있습니다.

  3. ==============================

    3.requirements.txt 파일을 사용하려면 requirements.txt에서 익명으로 master 브랜치를 가져 오기 위해 git와 같은 항목이 필요합니다.

    requirements.txt 파일을 사용하려면 requirements.txt에서 익명으로 master 브랜치를 가져 오기 위해 git와 같은 항목이 필요합니다.

    git+git://github.com/celery/django-celery.git
    
    -e git://github.com/celery/django-celery.git#egg=django-celery
    

    편집 가능한 모드는 프로젝트의 소스 코드를 현재 디렉토리의 ./src로 다운로드합니다. 그것은 pip freeze가 패키지의 올바른 github 위치를 출력하도록합니다.

  4. ==============================

    4.다른 프로젝트를 복제하는 것과 같은 방법으로 대상 저장소 복제 :

    다른 프로젝트를 복제하는 것과 같은 방법으로 대상 저장소 복제 :

    git clone git@github.com:myuser/foo.git
    

    그런 다음 개발 모드로 설치하십시오.

    cd foo
    pip install -e .
    

    foo 패키지를 사용하는 모든 코드는 수정 된 코드를 사용합니다.

    이 솔루션의 장점은 다음과 같습니다.

  5. from https://stackoverflow.com/questions/8247605/configuring-so-that-pip-install-can-work-from-github by cc-by-sa and MIT license