You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In creating a plugin for Django, I need to support a full compatibility matrix of Python versions and Django versions. This is due to the fact that Django maintains multiple release branches simultaneously. In addition to supporting this full matrix, I would also like to be able to pin versions on each individual release branch above certain versions in order to enforce the latest security fixes. This lead me to this wonderfully complex version matrix:
Unfortunately, this is not currently support. When trying to install, I see the following:
[jwilhelm@localhost django-ssl-auth]$ poetry install -vvv
Creating virtualenv django-ssl-auth-qQKl64d5-py3.7 in /home/jwilhelm/.cache/pypoetry/virtualenvs
Using virtualenv: /home/jwilhelm/.cache/pypoetry/virtualenvs/django-ssl-auth-qQKl64d5-py3.7
Updating dependencies
Resolving dependencies...
1: fact: django-ssl-auth is 2.2.0
1: derived: django-ssl-auth
0: Duplicate dependencies for django
1: Version solving took 0.002 seconds.
1: Tried 1 solutions.
[TypeError]
unhashable type: 'VersionUnion'
Traceback (most recent call last):
File "/home/jwilhelm/.poetry/lib/poetry/_vendor/py3.7/clikit/console_application.py", line 131, in run
status_code = command.handle(parsed_args, io)
File "/home/jwilhelm/.poetry/lib/poetry/_vendor/py3.7/clikit/api/command/command.py", line 120, in handle
status_code = self._do_handle(args, io)
File "/home/jwilhelm/.poetry/lib/poetry/_vendor/py3.7/clikit/api/command/command.py", line 171, in _do_handle
return getattr(handler, handler_method)(args, io, self)
File "/home/jwilhelm/.poetry/lib/poetry/_vendor/py3.7/cleo/commands/command.py", line 92, in wrap_handle
returnself.handle()
File "/home/jwilhelm/.poetry/lib/poetry/console/commands/install.py", line 63, in handle
return_code = installer.run()
File "/home/jwilhelm/.poetry/lib/poetry/installation/installer.py", line 74, in run
self._do_install(local_repo)
File "/home/jwilhelm/.poetry/lib/poetry/installation/installer.py", line 161, in _do_install
ops = solver.solve(use_latest=self._whitelist)
File "/home/jwilhelm/.poetry/lib/poetry/puzzle/solver.py", line 36, in solve
packages, depths = self._solve(use_latest=use_latest)
File "/home/jwilhelm/.poetry/lib/poetry/puzzle/solver.py", line 181, in _solve
self._package, self._provider, locked=locked, use_latest=use_latest
File "/home/jwilhelm/.poetry/lib/poetry/mixology/__init__.py", line 7, in resolve_version
returnsolver.solve()
File "/home/jwilhelm/.poetry/lib/poetry/mixology/version_solver.py", line 80, in solve
next = self._choose_package_version()
File "/home/jwilhelm/.poetry/lib/poetry/mixology/version_solver.py", line 378, in _choose_package_version
version = self._provider.complete_package(version)
File "/home/jwilhelm/.poetry/lib/poetry/puzzle/provider.py", line 599, in complete_package
if dep.constraint not in by_constraint:
This is also somewhat tangentially related to #1745, as I will need to use this same compatibility matrix functionality for testing purposes.
The text was updated successfully, but these errors were encountered:
-vvv
option).Issue
In creating a plugin for Django, I need to support a full compatibility matrix of Python versions and Django versions. This is due to the fact that Django maintains multiple release branches simultaneously. In addition to supporting this full matrix, I would also like to be able to pin versions on each individual release branch above certain versions in order to enforce the latest security fixes. This lead me to this wonderfully complex version matrix:
Unfortunately, this is not currently support. When trying to install, I see the following:
This is also somewhat tangentially related to #1745, as I will need to use this same compatibility matrix functionality for testing purposes.
The text was updated successfully, but these errors were encountered: