Что мне нужно сделать, чтобы исправить «ОШИБКУ: не удалось построить колеса, которые используют PEP 517 и не могут быть установлены напрямую»?

#python #conda

#питон #конда

Вопрос:

Я создаю библиотеку, которая следует стандартным методам, когда дело доходит до разработки, тестирования и выпуска (с использованием tox и pytest, setup.cfg и т. Д.). Где-то сегодня утром я внезапно начал получать следующую ошибку при попытке запустить свои тесты, и я в тупике относительно основной причины.

 Building wheels for collected packages: python-step-series  Building wheel for python-step-series (PEP 517): started  Building wheel for python-step-series (PEP 517): finished with status 'done'  Created wheel for python-step-series: filename=python_step_series-0.0.2.dev1.post1.dev0_g1f5fc90.d20211206-py3-none-any.whl size=17943 sha256=6db044ba1828101d1ecd7f27be55a42b63711d537a6ea01d4935eaa4122655ef  Stored in directory: /home/user/.cache/pip/wheels/46/6f/be/601a51d80e3889cae97cbe8b1a98cc4be1004f1e97546d94ef  WARNING: Built wheel for python-step-series is invalid: Metadata 1.2 mandates PEP 440 version, but '0.0.2.dev1.post1.dev0-g1f5fc90.d20211206' is not Failed to build python-step-series ERROR: Could not build wheels for python-step-series which use PEP 517 and cannot be installed directly  

Я знаю, что это как-то связано с тегированием git и тем фактом, что мое рабочее дерево грязное, но как это исправить, выше моего понимания. До сегодняшнего утра у меня никогда не было проблем. Создание нового тега каждый раз, когда я хочу запускать свои тесты (с использованием tox), похоже, помогает этому-до тех пор, пока мое рабочее дерево снова не станет грязным. Как бы то ни было, этот пластырь не эффективен и не подходит.

Я использую tox-conda вместо virtualenv, но каждая среда сообщает версию Pip: 21.2.4 (python 3.7,3.8, 3.9. 3.10)

Кто-нибудь еще сталкивался или знал об этой проблеме и о том, как ее исправить?

Комментарии:

1. Разработчик недоволен вашей строкой версии. Подробнее см. PEP 440.

2. @КлаусД. Строка генерируется автоматически и извлекается из описания git и тега git. У меня нет информации о том, как создается строка версии за пределами тега (т. Е. 0.0.2dev4).

Ответ №1:

Я решил в третий раз полностью стереть свою среду, а также удалить кэш пипа. По-видимому, что бы ни было причиной этой проблемы, оно жило в кэше пипа, или суеверие «очарование третьего раза» сбылось.