Добавление pyproject.toml в проект приводит к сбою установки pip

Я использую pyproject.toml настроить black. Однако при добавлении этого файлаpip3 install -e . --user выходит из строя со следующей ошибкой:

    ERROR: Complete output from command /usr/bin/python3 -c 'import setuptools, tokenize;__file__='"'"'/home/sean/git/auto-md/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps --user --prefix=:
    ERROR: usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: -c --help [cmd1 cmd2 ...]
       or: -c --help-commands
       or: -c cmd --help

    error: option --user not recognized
    ----------------------------------------
ERROR: Command "/usr/bin/python3 -c 'import setuptools, tokenize;__file__='"'"'/home/sean/git/auto-md/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps --user --prefix=" failed with error code 1 in /home/sean/git/auto-md/

Почему возникает эта ошибка и как ее исправить?

1 ответ

Решение

Согласно обсуждению в этой проблеме GitHub, чтобы решить эту проблему, вам необходимо запуститьpip3 install -e . --user --no-use-pep517.

Причины этого сложны, но по сути:

  1. Используя pyproject.toml, вы указываете на pip что вы должны использовать новый pep517 процесс установки.

  2. pep517 не поддерживается -e или --user, так что это не удается.

  3. Другого способа автоматической настройки нет black, так что ты застрял с pyproject.toml а также --no-use-pep517.

Другие вопросы по тегам