{{{
Django version 4.2.8, using settings 'config.settings.local'
Development server is running at http://0.0.0.0:8000/
Using the Werkzeug debugger (https://werkzeug.palletsprojects.com/)
Quit the server with CONTROL-C.
Traceback (most recent call last):
File "/app/manage.py", line 31, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.11/site-
packages/django/core/management/__init__.py", line 442, in
execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.11/site-
packages/django/core/management/__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.11/site-
packages/django/core/management/base.py", line 412, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.11/site-
packages/django/core/management/base.py", line 458, in execute
output = self.handle(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-
packages/django_extensions/management/utils.py", line 62, in inner
ret = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-
packages/django_extensions/management/commands/runserver_plus.py", line
338, in handle
self.inner_run(options)
File "/usr/local/lib/python3.11/site-
packages/django_extensions/management/commands/runserver_plus.py", line
438, in inner_run
self.extra_files |= set(filter(lambda filename:
str(filename).endswith('.mo'), gen_filenames()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-
packages/django/utils/autoreload.py", line 304, in watched_files
yield from iter_all_python_module_files()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-
packages/django/utils/autoreload.py", line 120, in
iter_all_python_module_files
return iter_modules_and_files(modules, frozenset(_error_files))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'Configuration'
}}}
I have used the python manage.py shell to test the import and do not get
an error after import
{{{
Python 3.11.7 (main, Dec 19 2023, 03:30:20) [GCC 12.2.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from pyats.topology import Testbed, Device
In [2]:
}}}
As an aside, I found a similar issue reported but with the Netmiko library
instead https://github.com/ktbyers/netmiko/issues/1955
I don't think this has been reported previously. I have limited Python
skills but happy to assist where I can.
--
Ticket URL: <https://code.djangoproject.com/ticket/35085>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => worksforme
Comment:
Hello Andy, thanks for your report, though I'm having a hard time
reproducing and thus understanding where Django is at fault.
I have read the linked GH report and while I understand the change (adding
`and isinstance(m, Hashable)` to `iter_modules_and_files`), I'm not being
able to reproduce with a minimal Django app (and less so with a test
case). I have tried installing the `pyats` dependency and adding the
imports to `views.py` modules without being able to trigger any error.
I'll be closing as `worksforme`, but please reopen if you can provide
either a test case for the Django source (ideal), or a minimal pure Django
project to reproduce otherwise.
Thanks, Natalia.
--
Ticket URL: <https://code.djangoproject.com/ticket/35085#comment:1>