Установка pip из ветки git repo
Пытаясь pip
установить специальную ветку репо. Google говорит мне
pip install https://github.com/user/repo.git@branch
Название филиала issue/34/oscar-0.6
так я и сделал pip install https://github.com/tangentlabs/django-oscar-paypal.git@/issue/34/oscar-0.6
но его возвращение 404.
Как мне установить эту ветку?
9 ответов
Добавить префикс URL git+
(См. Поддержка VCS):
pip install git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6
И укажите название ветви без ведущего /
,
Использование pip с git+ для клонирования репозитория может быть очень медленным (например, протестируйте с https://github.com/django/django@stable/1.6.x, это займет несколько минут). Самая быстрая вещь, которую я нашел, которая работает с GitHub и BitBucket, это:
pip install https://github.com/user/repository/archive/branch.zip
что делается для мастера Джанго:
pip install https://github.com/django/django/archive/master.zip
для django stable/1.7.x:
pip install https://github.com/django/django/archive/stable/1.7.x.zip
С BitBucket это примерно такой же предсказуемый шаблон:
pip install https://bitbucket.org/izi/django-admin-tools/get/default.zip
Здесь главная ветвь обычно называется default. Это значительно ускорит установку ваших требований.
В некоторых других ответах упоминаются варианты, необходимые для размещения пакета, устанавливаемого в ваш requirements.txt
, Обратите внимание, что с этим синтаксисом архива, ведущий -e
и тянущийся #egg=blah-blah
не требуются, и вы можете просто вставить URL-адрес, чтобы ваш файл require.txt выглядел следующим образом:
https://github.com/user/repository/archive/branch.zip
Инструкции по установке из частного репозитория с использованием учетных данных ssh.
Для использования:
$ pip install git+ssh://git@github.com/myuser/foo.git@my_version
Для развития:
$ git clone git@github.com/myuser/foo.git@my_version
$ pip install --editable ./
Это сработало как шарм:
pip3 install git+https://github.com/deepak1725/fabric8-analytics-worker.git@develop
Куда:
develop: Branch
fabric8-analytics-worker.git: Репо
deepak1725: пользователь
Просто для добавления дополнительного, если вы хотите установить его в свой файл pip, его можно добавить так:
-e git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6#egg=django-oscar-paypal
Это будет сохранено как яйцо все же.
Вы использовали процедуру установки яичных файлов. Эта процедура поддерживает установку поверхgit
, git+http
, git+https
, git+ssh
, git+git
а также git+file
. Некоторые из них упоминаются.
Хорошо, что для установки можно использовать ветки, теги или хеши.
@Steve_K отметил, что установка с помощью "git+" может быть медленной, и предложил установку через zip-файл:
pip install https://github.com/user/repository/archive/branch.zip
В качестве альтернативы я предлагаю вам установить, используя .whl
файл, если он существует.
pip install https://github.com/user/repository/archive/branch.whl
Это довольно новый формат, более новый, чем файлы яиц. Для этого требуются пакеты wheel и setuptools>=0.8. Вы можете найти больше здесь.
мне ваше предложение из вопросной работы, например
pip install https://github.com/user/repo.git@branch
конкретный перевод в делание
pip install -U git+https://github.com/moskomule/anatome.git@dev
работал. Возможно убрать лишнее
/
является избыточным. Мой вывод:
(original_anatome_env) brando~/ultimate-anatome ❯ pip install -U git+https://github.com/moskomule/anatome.git@dev
Collecting git+https://github.com/moskomule/anatome.git@dev
Cloning https://github.com/moskomule/anatome.git (to revision dev) to /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-req-build-62d_ghd2
Running command git clone -q https://github.com/moskomule/anatome.git /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-req-build-62d_ghd2
Running command git checkout -b dev --track origin/dev
Switched to a new branch 'dev'
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
Resolved https://github.com/moskomule/anatome.git to commit 4b576e51cb1824a57ea04974e0f92b5a6143294d
Requirement already satisfied: torch>=1.10.0 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from anatome==0.0.6) (1.10.0)
Requirement already satisfied: torchvision>=0.11.1 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from anatome==0.0.6) (0.11.1)
Requirement already satisfied: typing-extensions in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torch>=1.10.0->anatome==0.0.6) (3.10.0.2)
Requirement already satisfied: pillow!=8.3.0,>=5.3.0 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torchvision>=0.11.1->anatome==0.0.6) (8.4.0)
Requirement already satisfied: numpy in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torchvision>=0.11.1->anatome==0.0.6) (1.21.4)
Building wheels for collected packages: anatome
Building wheel for anatome (setup.py) ... done
Created wheel for anatome: filename=anatome-0.0.6-py3-none-any.whl size=10167 sha256=63b12a36f33deb8313bfe7756be60bd08915b8ba36711be47e292b590df70f61
Stored in directory: /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-ephem-wheel-cache-rde_ngug/wheels/19/e4/be/01479e8cba62ae8cdcd501cd3bf49e199f2bb94732a6a1b006
Successfully built anatome
Installing collected packages: anatome
Attempting uninstall: anatome
Found existing installation: anatome 0.0.5
Uninstalling anatome-0.0.5:
Successfully uninstalled anatome-0.0.5
Successfully installed anatome-0.0.6
0.6.0 — номер версии ветки разработки, а 0.5.0 — основная, так что все заработало!
Pip — менеджер пакетов Python. Вы можете загрузить библиотеки Python из некоторых репозиториев Python, таких как
PyPI
. Вы также можете скачать библиотеки срепозиторий. Это будет проблема, которая будет объяснена в этой статье.
Как вы, возможно, знаете, вы можете использовать два протокола, которыеа такжесделать что-то на
git
репозитории. Использование протоколавместо
http
может обеспечить некоторую простоту использования. Из-за характера
ssh
, вы можете что-то сделать со своими первичными/открытыми ключами . Таким образом, вам не нужно постоянно вводить свои учетные данные. Но я уступлю дорогу обоим;
Вот пример с
Github
репозитории;
Для HTTP
pip install git+https://github.com/<project_owner>/<project_name>
Для SSH
pip install git+ssh://git@github.com/<project_owner>/<project_name>.git
Для локального репозитория Git
pip install git+file///path/to/your/git/project/
Установка специальной ветки, тега или коммита
Приведенные выше команды будут устанавливать только то, что доступно в ветке по умолчанию. В большинстве случаев вы хотите настроить таргетинг на конкретную ветку, тег или, может быть, даже коммит. Этого можно достичь, предоставив
@
аргумент строки git.
Пример:
pip install git+https://github.com/nezhar/django-model-prefix@a5cabf1ac210b6358ea358b1d268d802114d85d4
Предоставление опций для extras_require
Некоторые пакеты содержат внутри
setup.py
или же
setup.cfg
. Чтобы ориентироваться на них в процессе установки,
#egg
аргумент должен быть указан как значение, которое содержит имя пакета и параметр для
extras_require
.
Пример:
pip install git+https://github.com/anexia-it/jsonschema@draft2020-12#egg=jsonschema[format]
Для настройки windows и pycharm:
Если вы используете pycharm и хотите использовать
pip3 install git+https://github.com/...
- во-первых, вы должны скачать git с https://git-scm.com/downloads
- затем перезапустите pycharm
- и вы можете использовать терминал pycharm для установки того, что хотите