python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.62k stars 2.27k forks source link

Python requirement (^3.8) is not compatible djangorestframework-simplejwt requires Python >=3.6,<3.9 #2846

Closed dmugtasimov closed 4 years ago

dmugtasimov commented 4 years ago
dmugtasimov@dmugtasimov-Latitude-E5550 ~/gitrep/ngineered-studio/mv/mv-server $ poetry init
...

dmugtasimov@dmugtasimov-Latitude-E5550 ~/gitrep/ngineered-studio/mv/mv-server $ poetry add django
Using version ^3.1 for django

Updating dependencies
Resolving dependencies... (2.8s)

Writing lock file

Package operations: 4 installs, 0 updates, 0 removals

  - Installing asgiref (3.2.10)
  - Installing pytz (2020.1)
  - Installing sqlparse (0.3.1)
  - Installing django (3.1)
dmugtasimov@dmugtasimov-Latitude-E5550 ~/gitrep/ngineered-studio/mv/mv-server $ poetry add djangorestframework
Using version ^3.11.1 for djangorestframework

Updating dependencies
Resolving dependencies... (0.4s)

Writing lock file

Package operations: 1 install, 0 updates, 0 removals

  - Installing djangorestframework (3.11.1)
dmugtasimov@dmugtasimov-Latitude-E5550 ~/gitrep/ngineered-studio/mv/mv-server $ poetry add djangorestframework-simplejwt
Using version ^4.4.0 for djangorestframework-simplejwt

Updating dependencies
Resolving dependencies... (2.2s)

[SolverProblemError]
The current project's Python requirement (^3.8) is not compatible with some of the required packages Python requirement:
  - djangorestframework-simplejwt requires Python >=3.6,<3.9

Because no versions of djangorestframework-simplejwt match >4.4.0,<5.0.0
 and djangorestframework-simplejwt (4.4.0) requires Python >=3.6,<3.9, djangorestframework-simplejwt is forbidden.
So, because mv-server depends on djangorestframework-simplejwt (^4.4.0), version solving failed.
tueda commented 4 years ago

I think I hit the same bug, but with a slightly different version requirement >=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <3.9, when I tried to install python-minifier:

$ poetry init
...

$ poetry add python-minifier
Creating virtualenv myapp in /home/tueda/tmp/myapp/.venv
Using version ^2.3.1 for python-minifier

Updating dependencies
Resolving dependencies... (0.0s)

[SolverProblemError]
The current project's Python requirement (^3.8) is not compatible with some of the required packages Python requirement:
  - python-minifier requires Python >=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <3.9

Because no versions of python-minifier match >2.3.1,<3.0.0
 and python-minifier (2.3.1) requires Python >=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <3.9, python-minifier is forbidden.
So, because myapp depends on python-minifier (^2.3.1), version solving failed.
Environment ``` $ poetry --version Poetry version 1.0.10 $ poetry env info Virtualenv Python: 3.8.5 Implementation: CPython Path: /home/tueda/tmp/myapp/.venv Valid: True System Platform: linux OS: posix Python: /home/linuxbrew/.linuxbrew/opt/python@3.8 ```
dmugtasimov commented 4 years ago

In case someone needs a workaround while the issue is being fixed (add <3.9 to pyproject.toml).

pyproject.toml:

[tool.poetry.dependencies]
# TODO(dmu) MEDIUM: <3.9 was added as work around for
#                   https://github.com/python-poetry/poetry/issues/2846 . Remove once fixed
python = "^3.8,<3.9"
finswimmer commented 4 years ago

Hello,

it's not a bug nor a fix is required. It's a feature. See https://github.com/python-poetry/poetry/issues/1930#issuecomment-653906544

github-actions[bot] commented 8 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.