From 044047e9aba57445fe43086987170183b191af43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Eustace?= Date: Tue, 2 Jun 2020 10:00:52 +0200 Subject: [PATCH] Fix handling of markers in old files --- poetry/installation/installer.py | 4 ++++ tests/installation/test_installer.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/poetry/installation/installer.py b/poetry/installation/installer.py index 59df0ddfdff..c8df4204254 100644 --- a/poetry/installation/installer.py +++ b/poetry/installation/installer.py @@ -446,6 +446,10 @@ def _filter_operations( if op.job_type == "uninstall": continue + if not self._env.is_valid_for_marker(package.marker): + op.skip("Not needed for the current environment") + continue + if self._update: extras = {} for extra, deps in self._package.extras.items(): diff --git a/tests/installation/test_installer.py b/tests/installation/test_installer.py index a3a472cfc1b..822dac484e2 100644 --- a/tests/installation/test_installer.py +++ b/tests/installation/test_installer.py @@ -1627,7 +1627,8 @@ def test_installer_can_handle_old_lock_files( package.add_dependency("pytest", "^3.5", category="dev") - locker.mock_lock_data(fixture("with-pypi-repository")) + locker.locked() + locker.mock_lock_data(fixture("old-lock")) installer = Installer( NullIO(), MockEnv(), package, locker, pool, installed=installed