-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Description
🐛 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
:
python3 -m pip install --user pipx
python3 -m pipx ensurepath
Install fairseq
via pipx
:
pipx install fairseq==0.12.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