Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Python_Packaging_Authority
pip
提交
f7c05a51
P
pip
项目概览
镜像
/
Python_Packaging_Authority
/
pip
10 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pip
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f7c05a51
编写于
5月 16, 2022
作者:
T
Tzu-ping Chung
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Allow pre-release to satisfy build requirements
上级
cb24fb40
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
2 deletion
+30
-2
news/11123.bugfix.rst
news/11123.bugfix.rst
+3
-0
src/pip/_internal/build_env.py
src/pip/_internal/build_env.py
+1
-1
tests/functional/test_pep517.py
tests/functional/test_pep517.py
+26
-1
未找到文件。
news/11123.bugfix.rst
0 → 100644
浏览文件 @
f7c05a51
Allow using a pre-release version to satisfy a build requirement. This helps
manually populated build environments to more accurately detect build-time
requirement conflicts.
src/pip/_internal/build_env.py
浏览文件 @
f7c05a51
...
...
@@ -185,7 +185,7 @@ class BuildEnvironment:
installed_req_str
=
f
"
{
req
.
name
}
==
{
dist
.
version
}
"
else
:
installed_req_str
=
f
"
{
req
.
name
}
===
{
dist
.
version
}
"
if
dist
.
version
not
in
req
.
specifier
:
if
not
req
.
specifier
.
contains
(
dist
.
version
,
prereleases
=
True
)
:
conflicting
.
add
((
installed_req_str
,
req_str
))
# FIXME: Consider direct URL?
return
conflicting
,
missing
...
...
tests/functional/test_pep517.py
浏览文件 @
f7c05a51
...
...
@@ -5,7 +5,13 @@ import tomli_w
from
pip._internal.build_env
import
BuildEnvironment
from
pip._internal.req
import
InstallRequirement
from
tests.lib
import
PipTestEnvironment
,
TestData
,
make_test_finder
,
path_to_url
from
tests.lib
import
(
PipTestEnvironment
,
TestData
,
create_basic_wheel_for_package
,
make_test_finder
,
path_to_url
,
)
from
tests.lib.path
import
Path
...
...
@@ -210,6 +216,25 @@ def test_validate_conflicting_pep517_backend_requirements(
assert
result
.
returncode
!=
0
and
msg
in
result
.
stderr
,
str
(
result
)
def
test_pep517_backend_requirements_satisfied_by_prerelease
(
script
:
PipTestEnvironment
,
data
:
TestData
,
)
->
None
:
create_basic_wheel_for_package
(
script
,
"myreq"
,
"1.0a1"
)
script
.
pip
(
"install"
,
"myreq==1.0a1"
,
"--no-index"
,
"-f"
,
script
.
scratch_path
)
script
.
pip
(
"install"
,
"test_backend"
,
"--no-index"
,
"-f"
,
data
.
backends
)
project_dir
=
make_project
(
script
.
temp_path
,
requires
=
[
"test_backend"
,
"myreq"
],
backend
=
"test_backend"
,
)
project_dir
.
joinpath
(
"backend_reqs.txt"
).
write_text
(
"myreq"
)
result
=
script
.
pip
(
"install"
,
"--no-index"
,
"--no-build-isolation"
,
project_dir
)
assert
"Installing backend dependencies:"
not
in
result
.
stdout
def
test_pep517_backend_requirements_already_satisfied
(
script
:
PipTestEnvironment
,
tmpdir
:
Path
,
data
:
TestData
)
->
None
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录