2016-11-21 1 views
1

Я работаю с репо, которая имеет следующую структуру:Как установить пакет с pip из git, если он имеет несколько подкаталогов?

  • Foo/бар/setup.py
  • Foo/бар/MyPackage

Я пытаюсь установить этот пакет, используя что-то например:

pip install git+ssh://[email protected]/owner/[email protected]#egg=mypackage&subdirectory=foo/bar 

Однако, он просто висит здесь и, похоже, не отвечает.

У их documentation нет примера пути с несколькими вложенными пакетами каталогов. Однако он действительно говорит, что мой упор:

Для проектов, в которых setup.py не находится в корне проекта, используется компонент «подкаталог». Значения компоненты «подкаталог» должно быть путем, начиная от корня проекта до где setup.py находится

Что делает правильно формируется установка с пипа для многостраничного каталога выглядеть?

Ошибки выше возвращающие такие как:

Could not find a tag or branch 'commit', assuming commit. 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 
     File "<string>", line 1, in <module> 
    IOError: [Errno 2] No such file or directory: '/var/folders/wf/89r2567s5hv48lj1g9l65mbw0000gp/T/pip-gAwA3W-build/setup.py' 

Я вижу это, используя все версии пип я проверил (9.0.1 и 8.1.1).

Вот подробный лог:

$ pip install git+ssh://[email protected]/user/[email protected]#egg=projectname&subdirectory=lib/python 
[1] 4195 

Collecting projectname from git+ssh://[email protected]/user/[email protected]#egg=projectname 
    Cloning ssh://[email protected]/user/repo.git (to 8d109c760ae8a9599299924be1b78645e2617a50) to /private/var/folders/wf/89r2567s5hv48lj1g9l65mbw0000gp/T/pip-build-w01D4G/repo 
    Could not find a tag or branch 'hash', assuming commit. 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 
     File "<string>", line 1, in <module> 
    IOError: [Errno 2] No such file or directory: '/private/var/folders/wf/89r2567s5hv48lj1g9l65mbw0000gp/T/pip-build-w01D4G/repo/setup.py' 

    ---------------------------------------- 
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/wf/89r2567s5hv48lj1g9l65mbw0000gp/T/pip-build-w01D4G/repo/ 

[1]+ Exit 1     pip install git+ssh://[email protected]/user/[email protected]#egg=projectname 

Похоже, после первой subdirectory линии, где я называю это, что часть команды Пипа исчезает?

+0

Просто отметив, что перед яйцом нет @ (как в нем должно быть 'pip install git + ssh: // git @ github.com/owner/repo-namegit @ commithash # egg = mypackage & subdirectory = foo/bar' вместо 'pip install git + ssh: //[email protected]/owner/[email protected]#@egg=mypackage&subdirectory=foo/bar)' –

+0

'подкаталог' определенно, как указать подкаталог (например,' pip install ' мерзавец + https: // github.com/поддоны/click.git @ мастер # яйца = клик-пример-морской и подкаталог = примеры/морской/''). Я думаю, что ваша проблема вызвана чем-то другим (проблемы с клонированием неправильного синтаксиса repo, определяющего commit sha? ...). –

+0

@EugenConstantinDinca Я удалил это и добавил дополнительные журналы, он все еще не делает то, что, по-видимому, предлагают документы? – enderland

ответ

1

При использовании нескольких операторов с пип, весь аргумент должен быть заключен в кавычки:

pip install git+ssh://[email protected]/owner/[email protected]#"egg=mypackage&subdirectory=foo/bar" 

В противном случае, пип капли ничего после & и успешно не признают.

+0

Быстрые примечания: 1) это ваша оболочка, выполняющая 'drop что-нибудь после &', а не pip & 2) вы можете заключить в кавычки (двойной или одиночный) весь аргумент для установки пакета (например, 'pip install" git + ssh: //[email protected]/owner/[email protected]#egg=mypackage&subdirectory=foo/bar "'). –

 Смежные вопросы

  • Нет связанных вопросов^_^