Как решить ошибку зависимости поэзии Python
При попытке установить зависимости Python с помощью Poetry возникает следующая ошибка:
$ poetry install
The currently activated Python version 2.7.15 is not supported by the project (>=3.6).
Trying to find and use a compatible version.
Using python3 (3.7.4)
Skipping virtualenv creation, as specified in config file.
Updating dependencies
Resolving dependencies... (1.7s)
[SolverProblemError]
The current project's Python requirement (>=3.6) is not compatible with some of the required packages Python requirement:
- pre-commit requires Python >=3.6.1
Because no versions of pre-commit match >2.2.0,<3.0.0
and pre-commit (2.2.0) requires Python >=3.6.1, pre-commit is forbidden.
So, because my-proj depends on pre-commit (^2.2.0), version solving failed.
Вот моя среда:
$ python3 --version
Python 3.7.4
$ poetry --version
Poetry version 1.0.5
$ pre-commit --version
pre-commit 2.2.0
И образец моего pyproject.toml:
...
[tool.poetry.dependencies]
python = ">=3.6"
...
[tool.poetry.dev-dependencies]
pre-commit = "^2.2.0"
...
Я пробовал изменить версию python в pyproject на 3.7, но результат не изменился. И если я удалю зависимость до фиксации, у меня будет такая же ошибка в другой зависимости.
Я не знаю, что мне искать: обновление / понижение версий, несовместимые версии
1 ответ
Решение
Как упоминал @Arne в комментариях, это, похоже, проблема virtualenv.
Я бегал poetry config virtualenvs.create false
ранее для другого проекта и конфигурация была установлена на глобальном уровне. Запуск обратной командыpoetry config virtualenvs.create true
решил проблему (возможно добавить --local
для индивидуальных проектов).