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

Drop support for EOL Python 3.4 #6685

Merged
merged 1 commit into from Jul 17, 2019
Merged

Drop support for EOL Python 3.4 #6685

merged 1 commit into from Jul 17, 2019

Conversation

hugovk
Copy link
Contributor

@hugovk hugovk commented Jul 6, 2019

Python 3.4 was EOL on 2019-03-16 and deprecated in #6123 and pip 19.0.

The deprecation warning reads:

Python 3.4 support has been deprecated. pip 19.1 will be the last one supporting it. Please upgrade your Python as Python 3.4 won't be maintained after March 2019 (cf PEP 429).

pip 19.2 is coming soon (#6630) so drop support for Python 3.4.

tests/lib/__init__.py Outdated Show resolved Hide resolved
docs/html/installing.rst Outdated Show resolved Hide resolved
src/pip/_internal/utils/compat.py Outdated Show resolved Hide resolved
src/pip/_internal/utils/compat.py Outdated Show resolved Hide resolved
tests/functional/test_install.py Outdated Show resolved Hide resolved
tests/functional/test_install.py Outdated Show resolved Hide resolved
@pradyunsg
Copy link
Member

@hugovk Thanks for the PR!

In line with @cjerdonek's suggestion, could you drop all the additional changes (references to 3.4, version based checks etc) and file them as a separate PR?

That way this PR would just be dropping Py3.4 from classifiers, requires error messages etc.

@hugovk
Copy link
Contributor Author

hugovk commented Jul 7, 2019

Thanks for the reviews, updated! Please let me know if I missed something.

@cjerdonek
Copy link
Member

Question: if someone happens to be running this pip version using Python 3.4, what should happen? Will it fail? If not, should it log a warning?

@hugovk
Copy link
Contributor Author

hugovk commented Jul 7, 2019

First, python_requires should prevent install on 3.4, for modern pip.

But if someone does end up with this PR's changes on 3.4, it'll still work as no functional changes have been made.

It may fail with the next PR, and will fail at some point in the future as code is modernised and newer features are used.

Would you like an explicit failure message for unsupported versions (<=2.6, 3.0-3.4)? Although care would have to be taken to make sure the file showing the error is still actually compatible with those versions, and it should be tested to be sure it still works in the long term.

What has been the approach for earlier removals?

@pradyunsg
Copy link
Member

Would you like an explicit failure message for unsupported versions (<=2.6, 3.0-3.4)?

No point in doing this IMO.

FWIW, modern versions of pip will refuse to install this version on 3.4 anyway. Once you start modifying the distribution, we're not liable for it. 🙃

Copy link
Member

@chrahunt chrahunt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Copy link
Member

@xavfernandez xavfernandez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this.
I'd argue that

pip/tests/conftest.py

Lines 352 to 355 in ca017ca

@pytest.fixture
def deprecated_python():
"""Used to indicate whether pip deprecated this python version"""
return sys.version_info[:2] in [(3, 4), (2, 7)]
could be included in this PR as it it directly linked to the deprecated call removal but it's ok if it's included in a future PR.

@hugovk
Copy link
Contributor Author

hugovk commented Jul 16, 2019

Is there anything else I can do for this PR?

It'd be nice to get it in this week's pip 19.2, in line with the deprecation message.

Thank you!

@pradyunsg
Copy link
Member

Yep yep. This is definitely on my TODO list for the release.

Based on a cursory pass earlier, this seemed good to me. Plus, two folks have already approved it so I'm happy to merge this anyway, based on trust on the contributor + fellow maintainers. 🌈

@pradyunsg pradyunsg added this to the 19.2 milestone Jul 17, 2019
@pradyunsg pradyunsg merged commit a53e571 into pypa:master Jul 17, 2019
@pradyunsg
Copy link
Member

Thanks for the PR @hugovk!

Thanks for taking the time to look at this @xavfernandez @cjerdonek @chrahunt! :D

@hugovk hugovk deleted the rm-3.4 branch July 17, 2019 13:38
@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Aug 16, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Aug 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants