The watchman/pywatchman combination that Django uses in runserver to efficiently monitor file changes currently doesn't work above Python 3.8. Before we finish a Python 3.11 or 3.12 upgrade, we should switch over to django-watchfiles (or at least revisit the issues tracking this to see if a better solution is available by then).
Another advantage of doing so: this would eliminate the need to install the native watchman package, as watchfiles is a standard pip install that includes pre-compiled Rust code for performance.
The watchman/pywatchman combination that Django uses in
runserver
to efficiently monitor file changes currently doesn't work above Python 3.8. Before we finish a Python 3.11 or 3.12 upgrade, we should switch over to django-watchfiles (or at least revisit the issues tracking this to see if a better solution is available by then).Another advantage of doing so: this would eliminate the need to install the native
watchman
package, as watchfiles is a standard pip install that includes pre-compiled Rust code for performance.References: