'mssql' isn't an available database backend or couldn't be imported.

I have a Django project that access two databases - one is PostgreSQL and one is MS SQL Server. This was working fine until I upgraded Pythan from 3.12 or 3.13 to 3.14.5.

I then have to install the various bits as well,

pip install django
pip install reportlab
pip install psycopg2-binary
pip install sql_server.pyodbc
pip install pyodbc
pip install mssql-django
pip install python-dateutil


The SQL Server drivers are from here, by the way: mssql-django · PyPI

But when I then try to run unit tests, it refuses, saying:

django.core.exceptions.ImproperlyConfigured: ‘mssql’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends, use ‘django.db.backends.XXX’, where XXX is one of:
‘mysql’, ‘oracle’, ‘postgresql’, ‘sqlite3’

I can go into th Django shell okay. I can do runserver okay.

I do not have SQL Server on my development PC; it is only used by one app, and then only in odd circumstances, so the tests do not use it. But something causes the test suite to fail anyway during set up.

Oh, well this is embarassing. The solution was here all the time:

Something somewhere is expecting MsSql in settings.DATABASES rather than mssql.

changing the name in venv seems like bad advice.
it was packaged like that by maintainers

if that is the name of the package, it should be used in the string pointing to the backend

and if you feel like this is a bug, it should be reported to them so they fix the packaging, or the docs