[python] pip 설치가 github에서 작동하도록 구성

프로덕션 서버에 개인 패키지를 설치하기 위해 github과 함께 pip를 사용하고 싶습니다. 이 질문은 설치가 성공하기 위해 github 저장소에 무엇이 필요한지에 관한 것입니다.

다음 명령 줄을 가정합니다 (잘 인증하고 설치하려고 함).

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

ProductName에 무엇이 있어야합니까? sdist 옵션으로 setup.py를 실행 한 후 tar 파일에 일반적으로 포함되는 내용입니까, 아니면 실제 tar.gz 파일입니까?

여러 변형을 시도했지만 작동하지 않기 때문에 여기에 묻습니다. 도움을 주셔서 감사합니다.



답변

파일이 들어있는 전체 파이썬 패키지가 필요합니다 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 에서 자세한 정보


답변

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

간단한 방법은 패키지의 zip 아카이브를 사용하는 것입니다. /zipball/master리포지토리 URL에 추가하십시오 .

    $ 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를 사용할 수 있습니다.


답변

requirements.txt파일 을 사용하려면 git아래의 항목과 같이에서 마스터 분기를 익명으로 가져와야합니다 requirements.txt.

정기적 인 설치 :

git+git://github.com/celery/django-celery.git

편집 가능 “설치의 경우 :

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

편집 가능한 모드는 프로젝트의 소스 코드를 ./src현재 디렉토리에 다운로드합니다 . pip freeze패키지의 올바른 github 위치를 출력 할 수 있습니다 .


답변

다른 프로젝트를 복제하는 것과 같은 방식으로 대상 저장소를 복제하십시오.

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

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

cd foo
pip install -e .

원하지 않는 것을 변경할 수 있으며 foo패키지를 사용하는 모든 코드 는 수정 된 코드를 사용합니다.

이 솔루션에는 2 가지 이점이 있습니다.

  1. 홈 프로젝트 디렉토리에 패키지를 설치할 수 있습니다.
  2. 패키지에는 .gitdir이 포함되어 있으므로 일반 Git 저장소입니다. 바로 포크로 밀 수 있습니다.

답변

Colab에서이 방법으로 시도 할 수 있습니다

!git clone https://github.com/UKPLab/sentence-transformers.git
!pip install -e /content/sentence-transformers
import sentence_transformers


답변