Как решить Python Ошибка поэтической зависимости - PullRequest
1 голос
/ 27 марта 2020

При попытке установить зависимости 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 Ответ

1 голос
/ 27 марта 2020

Как упомянуто @Arne в комментариях, это, похоже, проблема virtualenv.

Ранее я запускал poetry config virtualenvs.create false для другого проекта, и конфигурация была установлена ​​на глобальном уровне. Выполнение обратной команды poetry config virtualenvs.create true решило проблему (возможно, добавьте --local, чтобы установить ее для отдельных проектов).

...