<p>pip尝试解析pyproject.toml的[build-system]要求中的PEP 508 URL作为文件路径</p>

创建于 2019-04-13  ·  5评论  ·  资料来源: pypa/pip

环境

  • 点子版本:毒药没有告诉我:fearful:
  • Python版本:3.7
  • 操作系统:Fedora GNU / Linux

描述
尝试指定“ 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'

预期行为
之所以有效,是因为它也可以在seutp_requires ,这是推荐的替代品,对不对?

如何繁殖
使用以下pyproject.toml:

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

输出

  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

最有用的评论

对于它的价值,与此问题相关的PR的点(#6203)能够安装此处提供的pyproject.toml而没有问题。

所有5条评论

我相信这是#6202的副本吗?

嗯,似乎有人提到requirements.txt ,我不知道内部是否使用相同的机制。 如果确实使用相同的,则可能是重复的:+1:

我很确定它使用相同的机制,但是我想在我们确定它固定之前,保持打开状态不会有什么坏处。

对于它的价值,与此问题相关的PR的点(#6203)能够安装此处提供的pyproject.toml而没有问题。

6203被合并,我能够确认针对master的修复:


固定的

#!/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 .


输出

+ 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

因此,我将重复解决此问题。 如果您看到其他内容,请告诉我!

此页面是否有帮助?
0 / 5 - 0 等级