Go Set Up Watchman
Fri, Apr 19, 2019The built-in Django server greatly facilitates development by reloading Python code when it detects file changes. As of Django 2.2, the server has started to watch for changes in a different way. As the release notes point out:
runserver can now use Watchman to improve the performance of watching a large number of files for changes.
For a project that I am working on, using Watchman turned out to be more of a requirement than a bonus. Without watchman it could take minutes for the server to reload a changed file.
Part of the blame certainly lay with a large and growing node_modules
directory. If this might be you, then you’ll definitely want to heed the advice
from the Django docs on the
runserver
to install pywatchman
(available through pip) and Watchman
for your
operating system. You’ll also want to add a .watchmanconfig
file to your
project with something like the following:
{
"ignore_dirs": ["node_modules"]
}
It made a world of difference for us.