From 75132d6acd6a9dc050148b3be81a9316c2282089 Mon Sep 17 00:00:00 2001 From: Matt Davis Date: Fri, 9 Dec 2022 02:55:05 -0500 Subject: [PATCH 1/2] Resolve issue where null markers were getting added when extras were provided. --- pipenv/utils/dependencies.py | 3 ++- tests/integration/test_lock.py | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pipenv/utils/dependencies.py b/pipenv/utils/dependencies.py index effb220c..17aa5f55 100644 --- a/pipenv/utils/dependencies.py +++ b/pipenv/utils/dependencies.py @@ -234,7 +234,8 @@ def clean_resolved_dep(dep, is_top_level=False, pipfile_entry=None): else: try: pipfile_entry = translate_markers(pipfile_entry) - lockfile["markers"] = pipfile_entry.get("markers") + if pipfile_entry.get("markers"): + lockfile["markers"] = pipfile_entry.get("markers") except TypeError: pass return {name: lockfile} diff --git a/tests/integration/test_lock.py b/tests/integration/test_lock.py index 723d45f0..37c82820 100644 --- a/tests/integration/test_lock.py +++ b/tests/integration/test_lock.py @@ -1,6 +1,5 @@ import json import os -import sys from pathlib import Path import pytest @@ -719,3 +718,17 @@ six = "*" assert c.returncode == 0 assert p.lockfile["prereq"]["six"]["index"] == "test" assert p.lockfile["default"]["requests"]["index"] == "test" + +def test_pinned_pipfile_no_null_markers_when_extras(pipenv_instance_pypi): + with pipenv_instance_pypi() as p: + with open(p.pipfile_path, "w") as f: + contents = """ +[packages] +dataclasses-json = {extras = ["dev"], version = "==0.5.7"} + """.strip() + f.write(contents) + c = p.pipenv("lock") + assert c.returncode == 0 + assert "dataclasses-json" in p.pipfile["packages"] + assert "dataclasses-json" in p.lockfile["default"] + assert "markers" not in p.lockfile["default"]["dataclasses-json"] \ No newline at end of file From 16c43d9c4b84b5415837cf2b404d8ecedd9fb1aa Mon Sep 17 00:00:00 2001 From: Matt Davis Date: Fri, 9 Dec 2022 02:57:27 -0500 Subject: [PATCH 2/2] add news fragment. --- news/5486.bugfix.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/5486.bugfix.rst diff --git a/news/5486.bugfix.rst b/news/5486.bugfix.rst new file mode 100644 index 00000000..d7bb01d1 --- /dev/null +++ b/news/5486.bugfix.rst @@ -0,0 +1 @@ +Solve issue where null markers were getting added to lock file when extras were provided.