Как я могу установить дополнения с помощью `pip install git + ssh`? [Дубликат]

1

У меня есть внутренний пакет Python, который я устанавливаю для tox

pip install git+ssh://[email protected]/org/repo.git

Это работает.

Что не работает, так это установить дополнительный server.

Что я пробовал

pip install git+ssh://[email protected]/org/repo.git[server]'

git clone завершился ошибкой с кодом ошибки 128 (не удалось клонировать)

pip install git+ssh://[email protected]/org/repo.git [server]

Клонирование работает, Invalid requirement: '[server]' (исключение при разборе

pip install -e git+ssh://[email protected]/org/repo#egg=repo[server]

Не удалось определить имя требования для 'git + ssh://[email protected]/org/repo.git', укажите его с помощью # egg = your_package_name


Я думаю, что на меня может повлиять эта ошибка: Как я могу установить дополнения с помощью 'pip install git + ssh'?

Мой (упрощенный) tox.ini:

[tox]
skipsdist = True
envlist = begin,py35,py36,end

[testenv]
commands =
    pip install -e git+ssh://[email protected]/org/repo#egg=repo[server]
  • 0
    @ 9769953 См. Дополнения к setuptools . Вы пытались использовать --install-option ? Может быть, что-то вроде --install-option="--extras-require=server" может работать ...
  • 0
    Вы должны передать имя яйца для pip чтобы иметь возможность отделить git url от дополнительных метаданных. pip install git+ssh://[email protected]/org/repo.git#egg=project[server] будет работать.
Показать ещё 9 комментариев
Теги:
pip
tox

1 ответ

1

Вы можете использовать --install-option для перенаправления параметров setuptools, поэтому следующее должно работать:

pip install --install-option="--extras-require=server" git+ssh://[email protected]/org/repo.git

Смотрите также:

$ pip install --help

Usage:   
  pip install [options] <archive url/path> ...

[...]

Install Options:
  [...]
  --install-option <options>  Extra arguments to be supplied to the setup.py install command (use like --install-option="--install-scripts=/usr/local/bin"). Use multiple --install-option options to pass multiple options to setup.py install. If you are
                              using an option with a directory path, be sure to use absolute path.
  --global-option <options>   Extra global options to be supplied to the setup.py call before the install command.
  • 0
    Жаль, что я сделал ошибку. Это не работает: - / - устанавливает базовый пакет, но не дополнительный «сервер».
  • 0
    Обратите внимание, что это отличается от передачи статистических данных в квадратных скобках. При pip install git+url#egg=name[extras] дополнительные компоненты анализируются и устанавливаются pip , тогда как передача параметра установки означает, что pip будет игнорировать дополнительные элементы и ими будет управлять либо easy_install (если setuptools.setup используется в скрипте установки) или stdlib (случай distutils.core.setup ).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню