Closed hiteshthavnani closed 2 years ago
On debian 10:
$ python --version
Python 3.7.3
$ pip install pysqlite3-binary==0.4.7.post6
Collecting pysqlite3-binary==0.4.7.post6
Downloading pysqlite3_binary-0.4.7.post6-cp37-cp37m-manylinux_2_24_x86_64.whl (3.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 921.7 kB/s eta 0:00:00
Installing collected packages: pysqlite3-binary
Successfully installed pysqlite3-binary-0.4.7.post6
Not sure what to tell you.
For others who may find this: I had the same issue trying to install pysqlite3-binary 0.5.0 on Python 3.8.10 on Ubuntu 20.04.
Upgrading pip with pip install --upgrade pip
resolved the issue.
@pypa is determined to make everything complicated apparently. What a joke of an organization.
I had a similar issue, and I found that pysqlite3-binary
v0.4.7 has manylinus wheels for manylinux_2_24
only
While older versions had wheels for manylinux1
and manylinux_2_24
centos 7 which @hiteshthavnani was using has glibc 2.17:
$ ldd --version
ldd (GNU libc) 2.17
So, a manylinux_2_24
wheel which is for glibc 2.24+ will not be used in centos 7
Was there a conscious decision to drop manylinux1
wheels in 0.4.7 and 0.5 ?
(Most of the places where I use pysqlite3-binary are old machines and need manylinux1)
Pypa have declared that manylinux1 is not supported anymore, as of about 16 months ago: https://github.com/pypa/manylinux/issues/994
You have options:
pip install pysqlite3
I see, is it possible to have wheels which are more permissive though ?
Earlier pysqlite3-binary supported glibc 2.5+ And now it jumped to 2.24+
Supporting manylinux2010 aka manylinux_2_12 aka glibc 2.12+ Or supporting manylinux2014 aka manylinux_2_17 aka glibc 2.17+ Would be great
Legacy formats: https://peps.python.org/pep-0600/#legacy-manylinux-tags
If you'd like to set up a pypi project that tracks pysqlite3
releases and builds the appropriate wheels for outdated/legacy distributions, that's of course fine.
You can easily modify the wheel-building scripts in the build-scripts/
directory to pull from a different manylinux, and adjust accordingly.
To build wheels for 3.10+ I believe was what necessitated the switch to manylinux 2_24. pypa are a bunch of clowns who don't care much about compatibility, so I am stuck following their dubious path.
manylinux1 should be considered legacy, but I don't think manylinux2014 aka manylinux_2_17 should be considered legacy as of now
3.10+ should not require manyinux_2_24 and should work with manylinux_2_17 also For example, pandas has python 3.10 and 3.11 wheels with manylinux_2_17
If there is interest, I can help with moving pysqlite3-binary from manylinux_2_24 -> manylinux_2_17 (It would help me simplify my build cycles)
I am trying to install latest pysqlite3-binary 0.4.7 but failed to do. I am using centos 7.9.2009 as the VM and python 3.7.12.
[root@vm] # pip install pysqlite3-binary==0.4.7.post6 ERROR: Could not find a version that satisfies the requirement pysqlite3-binary==0.4.7.post6 (from versions: 0.4.1.post1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6) ERROR: No matching distribution found for pysqlite3-binary==0.4.7.post6
Please let me know if we need more info at my end.