Skip to content

Directory does not exist errors for path dependencies #4245

@md384

Description

@md384
  • I am on the latest Poetry version.
  • I have searched the issues of this repo and believe that this is not a duplicate.
  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).
  • OS version and name: MacOS Big Sur
  • Poetry version: 1.1.7
  • Link of a Gist with the contents of your pyproject.toml file: NA

Issue

v1.1.7 can cause path dependencies to not be found when packages are not all at the same directory depth. This appears to happen because the dependencies are searched for relative to the lockfile rather than relative to the lockfile and package.

As an example, for the directory structure

/
  pyproject.toml
  poetry.lock
  /lib
    /libA
      pyproject.toml
      poetry.lock
    /libB
      pyproject.toml
      poetry.lock

and relevant part of the poetry.lock file for the root

[[package]]
name = "lib-a"
version = "0.1.0"
description = ""
category = "main"
optional = false
python-versions = "^2.7.9"
develop = true

[package.dependencies]
lib-b = {path = "../libB", develop = true}

[package.source]
type = "directory"
url = "lib/libA"

[metadata]
lock-version = "1.1"
python-versions = "*"
content-hash = "115cf985d932e9bf5f540555bbdd75decbb62cac81e399375fc19f6277f8c1d8"

[metadata.files]
lib-a = []
lib-b = []

In 1.1.7, we get a Directory ../lib-b does not exist error because it tries to find the libB dependency at /../lib-b rather than /lib/libA/../libB.

This is likely a problem with previous versions of poetry but 1.1.7 changed the lockfiles for path dependencies to be paths rather than versions so becomes apparent when installing a package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions