-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
RFC: Packaging 21+ and dropping support for managing Python 2.7 environments #4752
Comments
I think it's reasonable for poetry to drop support python 2.7, because lack of man power/maintainer or little interest from user base itself. If no one from maintainer or user want to maintain the part regarding python 2.7, this change was the best decision from the perspective of maintainability for poetry going forward. Also pip itself closing issue regarding python 2 related problem as Thanks, maintainers and contributors of Poetry, I love this project. |
@neersighted a quick search on source graph says there are around 234 projects out there that reference python 2.7. Removing tests, vendored packages etc. that goes down to 167. |
IMO let the dead remain dead. Python 2.7 is not supported for some time now and if you ask me, the less support in tooling it has, the more reason for projects to migrate to Python 3.x. Poetry has already a great amount of issues, lets limit them to 3.x only. Same as gunungpw, I would like to thank all maintainers and contributors for their work on Poetry, I absolutely love it |
Given that Python 2.7 has been sunset over 2 years now, I think we should drop support for Python 2.7 projects. I suspect @neersighted unless anyone can raise a strong and justifiable arguments against this, let's proceed with dropping support for Python 2.7 projects. We can highlight the mitigations in documentations in case people really want the support. Mitigations for those that really need Python 2.7 supportFurther, it should be noted that, for now, it is possible for a user to workaround this doing one of the following if it is really desired to support a Python 2.7 project with Poetry.
Older Poetry projects should still build with Potential routes to preserve Python 2.7 project support (not recommended)For completeness, the following are options that can be implemented to preserve 2.7 support. However, all of these options come with additional maintanence burden.
Personally, I reckon we should stop relying on an external dependency in this manner ( cc: @python-poetry/core @python-poetry/triage |
I agree with @gunungpw that in order to retain Python 2.7 support in Poetry there would need to be both some interest in using Poetry with Python 2.7 as well as a commitment for someone to step up and maintain support. As @abn clarified above, documenting workarounds can allow impacted users to have some time to transition. I believe that a case could be made to provide a deprecation warning in Poetry before support for Python 2.7 is removed, as this could help to inform impacted users to make themselves known. This also depends on whether the Poetry maintainers feel this would be valuable, though I don't feel it's heavy-handed to drop support due to how long ago the Python 2.7 EOL was finalized. My preference would be to update the docs to reflect the upcoming changes and move forward with deprecating Python 2.7 support without extended notice. |
I think, with new stuff coming in 1.2, it could be a good point for dropping 2.7 as well. |
I have cleaned up #4749 in preparation for this. I also have a patch ready if after release folks have complaints. Will need to follow up this PR with
|
@abn I would be happy to help with that. Not sure about 2nd point (don't know codebase that well, could take some time), but 1 and 3 are for sure ones I can do. |
That helps a lot @Secrus. Thank you. Happy to also help navigating the code base. |
Since we now have plugins - https://github.com/abn/poetry-plugin-compat-env-py2 |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Time marches on, and the EOL for Python 2.7 is nearly two years in the past. While Poetry 1.2 (which drops support for Python 2.7/3.5) is not yet out of alpha, we have one more additional wrinkle to consider regarding Python 2.7.
Namely, Poetry intended to keep supporting management of Python 2.7 environments, even if it required Python 3.6+ to run. However, due to upstream changes in Packaging that we want to be able to track, it looks like we are going to be unable to fulfill that promise going forward.
Issue #4264 is tracking support for more modern Packaging versions -- to fix this issue/follow upstream, we will have to drop support for Python 2.
PR #4749 implements support for more modern Packaging versions by both bumping the version constraint as well as adapting to changes in upstream's package layout.
Given the time that has gone by since the official end of Python 2.7 support, I'd like to collect feedback on the idea of dropping Python 2.7 management in the next alpha release. To do so, we would simply merge #4749.
Users who still require Python 2.7 support will be able to fall back to the 1.1.x line of releases (currently 1.1.11) which will continue to support Python 2.
The text was updated successfully, but these errors were encountered: