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

Dedupe 2.0.16 is not compatible with python 3.6 #1068

Closed
EdAbati opened this issue Jun 20, 2022 · 4 comments
Closed

Dedupe 2.0.16 is not compatible with python 3.6 #1068

EdAbati opened this issue Jun 20, 2022 · 4 comments

Comments

@EdAbati
Copy link

EdAbati commented Jun 20, 2022

Hi,

Based on the setup.py it seems that dedupe 2.0.16 should be compatible with Python 3.6

Nevertheless, in this version this line was introduced:

from __future__ import annotations

from __future__ import annotations should only be working starting from Python 3.7 and this makes Dedupe fail with python 3.6.

I would suggest to either remove that line and keep supporting python 3.6 or (since python 3.6 reached end of life) update the setup.py with python_requires=">=3.7".

UPDATED (based on 1st response):
When running in a Python 3.6 environment, pip install dedupe will install the latest version of dedupe (2.0.16).
This should not be allowed since compatibility with python 3.6 was dropped.
Is there maybe an issue with the GitHub actions step that builds dedupe and distributes it on PyPi?

Thanks :)

@adamzev
Copy link

adamzev commented Jun 22, 2022

python_requires=">3.6", means greater than 3.6. So it is already 3.7 and up as you are suggesting.

@EdAbati
Copy link
Author

EdAbati commented Jun 23, 2022

Oh Yes you are totally right! For some reason I also saw an = there. 😄

Nevertheless, I was able to install dedupe 2.0.16 just by doing pip install dedupe in a python 3.6 environment.

Is it possible that Dedupe 2.0.16 got built and distributed for python 3.6 too?

@EdAbati
Copy link
Author

EdAbati commented Jun 23, 2022

After a quick search, I saw that the python_requires is correctly picked up by the pypa/cibuildwheel in the Github actions:
https://github.com/dedupeio/dedupe/runs/6844256418?check_suite_focus=true#step:4:29

But I could see from the log that the package is indeed built for python 3.6: https://github.com/dedupeio/dedupe/runs/6844256418?check_suite_focus=true#step:4:178

This is because only 3.6.0 is not >3.6:

>>> from packaging.specifiers import SpecifierSet 
>>> '3.6' in SpecifierSet('>3.6')
False
>>> '3.6.1' in SpecifierSet('>3.6')
True

I would suggest to fix the setup.py and set python_requires=">=3.7".

(I guess that 2.0.16 is not the only version affected by this, 2.0.13 was also not working with 3.6 #973)

@fgregg fgregg closed this as completed in 928ffca Jun 28, 2022
@fgregg
Copy link
Contributor

fgregg commented Jun 28, 2022

thanks for the bug report

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants