#32887 closed Bug (invalid)
v3.2.4 regression - Invalid path type: PurePosixPath
| Reported by: | Damien Allen | Owned by: | nobody |
|---|---|---|---|
| Component: | Utilities | Version: | 3.2 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
After upgrading from v3.2.3 to v3.2.4 the runserver command is now raising a TypeError and exiting. After reviewing the v3.2.4 release notes, I suspect that this is related to changes to template directory traversal since get_template_directories() is in the traceback:
Performing system checks...
Traceback (most recent call last):
File "manage.py", line 33, in <module>
main()
File "manage.py", line 29, in main
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
System check identified no issues (0 silenced).
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 61, in execute
super().execute(*args, **options)
File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.8/site-packages/channels/management/commands/runserver.py", line 65, in handle
super().handle(*args, **options)
File "/usr/local/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 96, in handle
self.run(**options)
File "/usr/local/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 103, in run
autoreload.run_with_reloader(self.inner_run, **options)
File "/usr/local/lib/python3.8/site-packages/django/utils/autoreload.py", line 638, in run_with_reloader
start_django(reloader, main_func, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/django/utils/autoreload.py", line 623, in start_django
reloader.run(django_main_thread)
File "/usr/local/lib/python3.8/site-packages/django/utils/autoreload.py", line 328, in run
autoreload_started.send(sender=self)
File "/usr/local/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 180, in send
return [
File "/usr/local/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
(receiver, receiver(signal=self, sender=sender, **named))
File "/usr/local/lib/python3.8/site-packages/django/template/autoreload.py", line 44, in watch_for_template_changes
for directory in get_template_directories():
File "/usr/local/lib/python3.8/site-packages/django/template/autoreload.py", line 21, in get_template_directories
items.update(Path.cwd() / to_path(dir) for dir in backend.engine.dirs)
File "/usr/local/lib/python3.8/site-packages/django/template/autoreload.py", line 21, in <genexpr>
items.update(Path.cwd() / to_path(dir) for dir in backend.engine.dirs)
File "/usr/local/lib/python3.8/site-packages/django/utils/_os.py", line 58, in to_path
raise TypeError('Invalid path type: %s' % type(value).__name__)
TypeError: Invalid path type: PurePosixPath
Our Django is being run in a docker container (base image python:3.8.6-slim-buster) with WSL2 which could be related to funky path issues.
Reverting to v3.2.3 resolves the issue.
Change History (3)
comment:1 by , 4 years ago
| Resolution: | → needsinfo |
|---|---|
| Status: | new → closed |
comment:2 by , 4 years ago
We used a cookie-cutter template for our docker setup:
I will put in a PR over there, thanks for prompt reply!
comment:3 by , 4 years ago
| Resolution: | needsinfo → invalid |
|---|
Thanks for the report. Is there a reason why you use
pathlib.PurePath()(POSIX paths) instead ofPath()(cross-OS paths) in your settings? This looks like a misconfiguration to me 🤔