Skip to content

Invalid version constraint in omegaconf #5055

@ulitival

Description

@ulitival

🐛 Bug

When installing fairseq as a command line tool, e.g. via pipx the following error arises:

packaging.requirements.InvalidRequirement: Expected closing RIGHT_PARENTHESIS
    PyYAML (>=5.1.*)
           ~~~~~~^

The problem is that fairseq has in its install_requires a version of omegaconf (omegaconf<2.1) that violates PEP 440. The maintainer of omegaconf has fixed the issue in the 2.1.1 version.

Please, note that it affects any package manager that utilises the packaging>=22.0 package. Pip for now still uses older version of vendor.packaging and is negligent to PEP 440 violation. Eventually it will change. There is a discussion if the adopting new packaging will be aimed for the 23.1 release or 23.2. They, first, planing to introduce a warning message and in the release after that move to packaging 22.0+ where the violation of PEP 440 will be considered an error hence blocking installation of fairseq via pip.

To Reproduce

Steps to reproduce the behavior:

Install pipx:

  1. python3 -m pip install --user pipx
  2. python3 -m pipx ensurepath

Install fairseq via pipx:

  1. pipx install fairseq==0.12.2
  2. See error about expected closing right parenthesis

Code sample

N/A

Expected behavior

fairseq is being installed via pipx and available as a cli tool.

Environment

  • fairseq Version: 0.12.2
  • PyTorch Version: 0.13.1 but not relevant to the issue
  • OS (e.g., Linux): MacOS, Linux
  • How you installed fairseq (pip, source): pipx
  • Build command you used (if compiling from source): N/A
  • Python version: 3.9.16, 3.10.6, 3.11.2
  • CUDA/cuDNN version: not relevant
  • GPU models and configuration: not relevant

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions