<p>pip tenta analisar PEP 508 URLs em pyproject.toml's [build-system] requer como caminho de arquivo</p>

Criado em 13 abr. 2019  ·  5Comentários  ·  Fonte: pypa/pip

Ambiente

  • versão pip: tox não me diz: medo:
  • Versão Python: 3.7
  • SO: Fedora GNU / Linux

Descrição
Isso é o que acontece ao tentar especificar "wobblui @ https://github.com/wobblui/wobblui/archive/master.zip ":

  Requirement 'wobblui @ https://github.com/wobblui/wobblui/archive/master.zip' looks like a filename, but the file does not exist
  Processing ./wobblui @ https:/github.com/wobblui/wobblui/archive/master.zip
  Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/home/jonas/Develop/myproj/wobblui @ https:/github.com/wobblui/wobblui/archive/master.zip'

Comportamento esperado
Que funciona, porque também funciona em seutp_requires e essa é a substituição recomendada, certo?

Como reproduzir
Use este pyproject.toml:

[build-system]
requires = ["setuptools", "wheel", "wobblui @ https://github.com/wobblui/wobblui/archive/master.zip"]
build-backend = "setuptools.build_meta"

Resultado

  Requirement 'wobblui @ https://github.com/wobblui/wobblui/archive/master.zip' looks like a filename, but the file does not exist
  Processing ./wobblui @ https:/github.com/wobblui/wobblui/archive/master.zip
  Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/home/jonas/Develop/myproj/wobblui @ https:/github.com/wobblui/wobblui/archive/master.zip'
duplicate auto-locked awaiting response bug

Comentários muito úteis

Pelo que vale a pena, pip do PR associado a esse problema (# 6203) foi capaz de instalar o pyproject.toml fornecido aqui sem problemas.

Todos 5 comentários

Eu acredito que esta é uma duplicata de # 6202?

Hmm, aquele parece mencionar requirements.txt e eu não saberia se usa internamente o mesmo mecanismo. Se usar o mesmo, então provavelmente é uma duplicata: +1:

Tenho certeza de que usa o mesmo mecanismo, mas acho que não custa manter isso aberto até termos certeza de que está consertado.

Pelo que vale a pena, pip do PR associado a esse problema (# 6203) foi capaz de instalar o pyproject.toml fornecido aqui sem problemas.

6203 foi mesclado e pude confirmar a correção contra o mestre:


fixed.sh

#!/bin/sh
cd "$(mktemp -d)"
python -m venv .venv
. .venv/bin/activate

set -ex
pip install --upgrade git+https://github.com/pypa/pip.git
cat <<EOF > pyproject.toml
[build-system]
requires = ["setuptools", "wheel", "wobblui @ https://github.com/wobblui/wobblui/archive/master.zip"]
build-backend = "setuptools.build_meta"
EOF
echo "from setuptools import setup; setup(name='hello')" > setup.py
pip install .


Resultado

+ pip install --upgrade git+https://github.com/pypa/pip.git
Collecting git+https://github.com/pypa/pip.git
  Cloning https://github.com/pypa/pip.git to /tmp/user/1000/pip-req-build-vj85ywtn
  Installing build dependencies ... done
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
  Running setup.py install for pip ... done
Successfully installed pip-19.3.dev0
+ cat
+ echo from setuptools import setup; setup(name='hello')
+ pip install .
Processing /tmp/user/1000/tmp.xAtiVhhzb7
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: hello
  Building wheel for hello (PEP 517) ... done
  Created wheel for hello: filename=hello-0.0.0-cp37-none-any.whl size=971 sha256=777a97a967e962ad9ae4d085b5eb369b8ead6340b4c1faae4cc42707a170bd1b
  Stored in directory: /tmp/user/1000/pip-ephem-wheel-cache-rvibo0ng/wheels/15/31/64/f6d8e3210b2f9a59fb104fc18d2651440f5e6d328adeca6341
Successfully built hello
Installing collected packages: hello
Successfully installed hello-0.0.0

portanto, fecharei este problema como uma duplicata. Por favor, deixe-me saber se você ver algo diferente!

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