Changing the original SQLite version to the latest

jose isaias cabrera jicman at gmail.com
Wed Feb 15 07:49:21 EST 2023


On Tue, Feb 14, 2023 at 8:55 PM Thomas Passin <list1 at tompassin.net> wrote:
>
> On 2/14/2023 3:30 PM, jose isaias cabrera wrote:
> > Greetings.
> >
> > I have tried both Cygwin and SQLite support, and I have received very
> > little ideas from them, so I am trying this to see if anyone has dealt
> > with such a problem before.
> >
> > If I use Cygwin setup tool and install python39 and thus,
> >
> > $ python
> > Python 3.9.10 (main, Jan 20 2022, 21:37:52) [GCC 11.2.0] on cygwin
> > Type "help", "copyright", "credits" or "license" for more information.
> >>>> import sqlite3
> >>>> sqlite3.sqlite_version
> > '3.34.0'
> >>>>
> >
> > As you can see, the SQlite3 version installed is v3.34.0. Right now,
> > the version available is 3.40.1. What I would like to do is to work
> > with the latest SQLite version. I have 4 Cygwin instances, 2 of them
> > are working ok, 2 are not. This is what I have done to get python to
> > use 3.41.0:
> > - downloaded the latest SQlite check-in from the site
> > - $ tar -xvf SQLite-44200596.tar.gz
> > - cd to SQLite-44200596
> > - $ ./configure --prefix=/usr
> > - $ make install
> >
> > These steps above have worked on two PCs, but I don't know what is the
> > difference that makes the other two work, and the other two not work.
> > I have started a few instances of Cygwin on the PC that is not
> > working, and I have been trying for a few days, and I am humbling
> > myself, and asking for help. So, the request is to get python3 to
> > change the SQLite3 library from 3.34.0 to 3.41.0. Any help would be
> > greatly appreciated. Since this is Windows 10, it's probably some
> > SQLite DLL somewhere that is being pulled instead of the one
> > installed. Perhaps some of you can provide a few suggestions to see
> > where I can  find a solution. I know the next step is to compile
> > python, but, I rather try to find how to fix this and get to the
> > bottom of it. Thanks, thanks and thanks.
>
> As a point of reference, the Python installation I've got on my Windows
> box (not a cygwin install) is
>
> Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec  6 2022, 20:01:21) [MSC v.1934
> 64 bit (AMD64)] on win32
>
> and the sqlite_version is 3.39.4



In case anyone needs the answer, These steps worked for me:

In case anyone needs the answer, what worked for me was:
-- Downloaded the Pre-release Snapshots
$ wget https://sqlite.org/snapshot/sqlite-snapshot-202302131932.tar.gz
-- untared the snapshot
$ tar xvf sqlite-snapshot-202302131932.tar.gz
-- cd to the untared directory
$ cd sqlite-snapshot-202302131932
$ ./configure --prefix=/usr
$ make install

And this process has set the python SQLite version to the
sqlite-snapshot version. After that, you can download the trunk and
follow the same procedure, and the version of the trunk will be
changed also.

$ ./SQLiteVersion.py
3.41.0
['/usr/lib/python3.9/sqlite3']
3.41.0
2023-02-13 19:32:40
ecdeef43b27412b0b0b09e09a62ad3a03836a3fc80f2070268090e7ca8f02712

I hope this helps.

This script may be useful...
$ cat SQLiteVersion.py
#!/usr/bin/python3
import sqlite3

def ConnectToSharedDB(sdb):
    return sqlite3.connect(sdb)

print(sqlite3.sqlite_version)
print(sqlite3.__path__)
SharedDB = ":memory:"
con = ConnectToSharedDB(SharedDB)
cur = con.cursor()
cur.execute("SELECT sqlite_version(),sqlite_source_id();")
for row in cur:
    print(row[0] + '\r\n' + row[1])

con.close()

-- 

What if eternity is real?  Where will you spend it?  Hmmmm...


More information about the Python-list mailing list