<p>formato de geração de congelamento de pip que é analisado incorretamente por pip install -r</p>

Criado em 15 set. 2014  ·  3Comentários  ·  Fonte: pypa/pip

Eu tenho linhas em minha saída de congelamento de pip como:

-e [email protected]:widgets.git@3bdaf7d07c44a87c38beb1e8abd163a7edf99adc#egg=widgets
-e [email protected]:[email protected]#egg=gadgets

Quando chega a hora de instalar usando pip install -r requirements.txt , parece que o pip identifica incorretamente example.com:[email protected] como a URL completa do repositório git quando na verdade deveria ser example.com:gadgets.git e então deveria verifique o commit 3bda ... 99adc.

Se eu tentar instalar usando a saída de congelamento de pip, por exemplo,

pip install -e [email protected]:[email protected]#egg=gadgets

Recebo o mesmo erro.

Tudo isso usando o pip 1.5.4

freeze vcs awaiting PR auto-locked bug

Todos 3 comentários

Observe que com as seguintes alterações ele funciona corretamente:

pip install -e [email protected]:/path/to/project/[email protected]#egg=project

ou

pip install -e [email protected]:project.git#egg=project

Embora no último, obviamente, ele irá puxar apenas o commit atual e não aquele especificado em 3bdaf ...

Além disso, por razões que não entendo, _funciona_ para solicitações ao github.

Isso é,

pip install -e [email protected]:JordanReiter/[email protected]#egg=github_project

trabalho.

Isso é semelhante a # 6293. O analisador (baseado em stdlib urlsplit tem problemas para identificar a parte do caminho da URL quando ele não contém / todo, e identifica a coisa toda após + como netloc . A variante sem rotação funciona totalmente por acidente porque netloc e path são posteriormente unidos e passados ​​para o Git (que faz a coisa certa automaticamente).

As discussões em # 6293 parecem favorecer a eliminação total do suporte a URL no estilo SCP, então a melhor solução aqui seria antes de pip freeze cuspir git+ssh:// URLs em vez disso.

Fechando porque propomos a remoção do formulário git+git@ em # 7554.

Esta página foi útil?
0 / 5 - 0 avaliações