From 592b147993ee28477bc57b5836c6e20fa660643a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Eustace?= Date: Thu, 5 Apr 2018 15:34:00 -0500 Subject: [PATCH] Fix dependency resolution for custom repositories --- CHANGELOG.md | 7 +++++++ poetry/repositories/legacy_repository.py | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56014ac1f8f..6f92f53c0cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## [Unreleased] + +### Fixed + +- Fixed dependency resolution for custom repositories. + + ## [0.7.0] - 2018-04-04 ### Added diff --git a/poetry/repositories/legacy_repository.py b/poetry/repositories/legacy_repository.py index dc1683cff71..ac666c72256 100644 --- a/poetry/repositories/legacy_repository.py +++ b/poetry/repositories/legacy_repository.py @@ -1,4 +1,5 @@ from pathlib import Path +from pip._vendor.pkg_resources import RequirementParseError from piptools.cache import DependencyCache from piptools.repositories import PyPIRepository from piptools.resolver import Resolver @@ -24,6 +25,7 @@ def __init__(self, name, url): if name == 'pypi': raise ValueError('The name [pypi] is reserved for repositories') + self._packages = [] self._name = name self._url = url command = get_pip_command() @@ -169,7 +171,7 @@ def _get_release_info(self, name: str, version: str) -> dict: ) try: requirements = list(resolver._iter_dependencies(ireq)) - except InstallationError as e: + except (InstallationError, RequirementParseError): # setup.py egg-info error most likely # So we assume no dependencies requirements = []