Skip to content

Incorrect locking of platform-specific wheel dependencies #4810

@ghost

Description

  • 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).

Issue

When given the above pyproject.toml file, running poetry lock on Linux generates the following poetry.lock:

[[package]]                                      
name = "test"                                  
version = "1.0"                                  
description = ""                                 
category = "main"                                
optional = false                                 
python-versions = "*"                            
                                                 
[package.source]                                 
type = "file"                                    
url = "wheels/test-1.0-cp34-abi3-win_amd64.whl"

Also, poetry export outputs:

test @ file:///home/nyuszika7h/example/wheels/test-1.0-cp34-abi3-win_amd64.whl; sys_platform == "win32" or sys_platform == "linux" or sys_platform == "darwin"                               

The expected behavior would be to include 3 separate entries, one for each platform.

Interestingly enough, poetry install is smart enough to pick the correct version for the platform despite the incorrect locking. But the lock file is incomplete, and the requirements.txt output is just completely wrong.

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