Yoo - this is a known problem. <https://code.djangoproject.com/ticket/30313> It has nothing to do with running "migrate", being in a virtual environment, or settings.py.
Jani - I tried compiling the latest Python manually - it was actually super easy - but even with the latest Python, importing _sqlite3 and checking the version, I still see the old version. I don't think sqlite is built into Python anymore - I think sqlite is some sort of library that Python uses. It seems not to be /usr/bin/sqlite3. I think that's just the binary that lets you interact with an sqlite database in the terminal - not the library. There's an article here <https://charlesleifer.com/blog/compiling-sqlite-for-use-with-python-applications/> that tries to cover updating sqlite so your Python picks up on it, but so far, I haven't had any luck getting it to work. On Thursday, July 18, 2019 at 1:14:42 AM UTC-6, Jani Tiainen wrote: > > Hi. > > I think Python has built in version so you might need to build custom > version of python. > > Pyenv is pretty neat tool to handle custom python builds. > > ke 17. heinäk. 2019 klo 21.36 Tal <[email protected] <javascript:>> > kirjoitti: > >> Or is Python's sqlite built into Python, not depending on >> /usr/bin/sqlite3 at all? >> Would I have to recompile Python for a newer version of sqlite that >> django can use? >> >> PS. I know I can downgrade django. I'm wondering how complex it is to >> compile a new version of sqlite for it to use. >> >> On Wednesday, July 17, 2019 at 12:14:54 PM UTC-6, Tal wrote: >>> >>> When using the latest django from PyPI in CentOS 7, running "./manage.py >>> runserver" gives an error about sqlite being too old. >>> Since there's no newer sqlite version in the CentOS repos, I tried >>> building sqlite from scratch: >>> >>> curl -L https://www.sqlite.org/2019/sqlite-amalgamation-3290000.tar.gz >>> > sqlite-amalgamation-3290000.tar.gz >>> tar -xvf sqlite-amalgamation-3290000.tar.gzcd sqlite-autoconf-3290000 >>> ./configure >>> make >>> make install >>> >>> >>> This sets up the latest sqlite3 to /usr/local/bin/. >>> Since /usr/local/bin is ahead of /usr/bin in my PATH, just running >>> "sqlite3" in the terminal runs the latest sqlite. >>> It runs without issues, and shows that it's the latest version: >>> >>> my_hostname# sqlite3 >>> >>> SQLite version 3.29.0 2019-07-10 17:32:03 >>> Enter ".help" for usage hints. >>> Connected to a transient in-memory database. >>> Use ".open FILENAME" to reopen on a persistent database. >>> sqlite> >>> >>> >>> Running "./manage.py runserver" again, it still tries to use the old >>> version in /usr/bin, and fails. >>> My django is running in a pipenv virtual environment, where PATH still >>> has /usr/local/bin/ ahead of /usr/bin, and running "sqlite3" in terminal >>> still shows the latest version. >>> >>> I followed the traceback django gives me to the dbapi2.py module, where >>> to figure out the sqlite version it does this: >>> >>> import _sqlite3 >>> _sqlite3.sqlite_version >>> >>> >>> If I run "python" in my virtualenv, and type those 2 lines, it shows the >>> old version of sqlite too. >>> _sqlite3 is not written in python - it's a compiled binary, so I can't >>> examine it to see where it looks. >>> >>> Am I missing something? >>> How can I tell _sqlite3 that there's a newer version of sqlite available >>> on the system? >>> Does _sqlite3 even care about /usr/local/bin/sqlite3? Or is there some >>> sqlite library it's looking for? >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/3d011ce9-c849-48a7-82be-0ea08edb4566%40googlegroups.com >> >> <https://groups.google.com/d/msgid/django-users/3d011ce9-c849-48a7-82be-0ea08edb4566%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/589b6a4a-c27f-4128-ba1d-f98f24d35eae%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

