djangosaml2idp
djangosaml2idp copied to clipboard
Example setup not working
Hi. The code within example_setup
directory is not working neither in docker nor in normal setup. In both cases, it returns the following error
Traceback (most recent call last):
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 86, in wrapped
saved_locale = translation.get_language()
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/utils/translation/__init__.py", line 254, in get_language
return _trans.get_language()
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/utils/translation/__init__.py", line 57, in __getattr__
if settings.USE_I18N:
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "djangosaml2idp/example_setup/idp/idp/settings.py", line 166, in <module>
from saml2.sigver import get_xmlsec_binary # noqa
File "djangosaml2idp/venv/lib64/python3.8/site-packages/saml2/sigver.py", line 16, in <module>
from importlib_resources import path as _resource_path
ImportError: cannot import name 'path' from 'importlib_resources' (djangosaml2idp/venv/lib64/python3.8/site-packages/importlib_resources/__init__.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 367, in run_from_argv
connections.close_all()
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/db/utils.py", line 208, in close_all
for alias in self:
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/utils/connection.py", line 73, in __iter__
return iter(self.settings)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/utils/connection.py", line 45, in settings
self._settings = self.configure_settings(self._settings)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/db/utils.py", line 144, in configure_settings
databases = super().configure_settings(databases)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/utils/connection.py", line 50, in configure_settings
settings = getattr(django_settings, self.settings_name)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "djangosaml2idp/venv/lib64/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "djangosaml2idp/example_setup/idp/idp/settings.py", line 166, in <module>
from saml2.sigver import get_xmlsec_binary # noqa
File "djangosaml2idp/venv/lib64/python3.8/site-packages/saml2/sigver.py", line 16, in <module>
from importlib_resources import path as _resource_path
ImportError: cannot import name 'path' from 'importlib_resources' (djangosaml2idp/venv/lib64/python3.8/site-packages/importlib_resources/__init__.py)
Hi! Not as a solution, but for the sake of running it locally, it works when you change
from importlib_resources import path as _resource_path
to
from importlib.resources import path as _resource_path
in your local saml2
files.
changing pysaml2
version in requirements.txt
for both idp and sp to from 6.5.1 to 7.3.1 solved the issue for me