Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install the latest pysqlite3-binary #40

Closed
hiteshthavnani opened this issue Jul 7, 2022 · 8 comments
Closed

Unable to install the latest pysqlite3-binary #40

hiteshthavnani opened this issue Jul 7, 2022 · 8 comments

Comments

@hiteshthavnani
Copy link

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.

@coleifer
Copy link
Owner

coleifer commented Jul 7, 2022

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.

@coleifer coleifer closed this as completed Jul 7, 2022
@cldellow
Copy link

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.

@coleifer
Copy link
Owner

@pypa is determined to make everything complicated apparently. What a joke of an organization.

@AbdealiLoKo
Copy link

AbdealiLoKo commented Apr 26, 2023

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)

@coleifer
Copy link
Owner

Pypa have declared that manylinux1 is not supported anymore, as of about 16 months ago: pypa/manylinux#994

You have options:

  • Install GCC and (optionally) sqlite source and build it yourself with pip install pysqlite3
  • Create your own fork that builds manylinux1 wheels

@AbdealiLoKo
Copy link

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

@coleifer
Copy link
Owner

coleifer commented Apr 26, 2023

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.

@AbdealiLoKo
Copy link

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
image

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants