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

Ensure poetry-plugin-export gets patched or stop using poetry #9862

Open
bmw opened this issue Dec 14, 2023 · 2 comments
Open

Ensure poetry-plugin-export gets patched or stop using poetry #9862

bmw opened this issue Dec 14, 2023 · 2 comments
Labels
area: pkging area: tooling priority: significant Issues with higher than average priority that do not need to be in the current milestone.
Milestone

Comments

@bmw
Copy link
Member

bmw commented Dec 14, 2023

We have poetry pinned back at

# If poetry>=1.3.0 is selected, multiple versions of virtualenv are selected
# causing problems when exporting dependencies so let's pin poetry back until
# https://github.com/python-poetry/poetry-plugin-export/issues/168 is resolved.
poetry = "<1.3.0"

This is to work around python-poetry/poetry-plugin-export#183.

I think we either need to ensure this gets fixed or stop using poetry (and find another way to pin dependencies across various systems as described in https://github.com/certbot/certbot/blob/9d8eb6ccfd513cf2bfd0c0920c9eb006ad536f4f/tools/pinning/DESIGN.md). If we don't do either, our dependency pinning system will almost certainly break eventually.

@bmw bmw added area: pkging area: tooling priority: significant Issues with higher than average priority that do not need to be in the current milestone. labels Dec 14, 2023
@bmw bmw added this to the 2.9.0 milestone Dec 14, 2023
@ohemorange
Copy link
Contributor

So, while this is a general issue, looks like we only fail on virtualenv. ...do we actually still need virtualenv for any reason? Given that we don't support python 2 anymore?

@bmw
Copy link
Member Author

bmw commented Jan 24, 2024

Grepping our codebase, it doesn't look like we depend on virtualenv and it's being pulled in as a transitive dependency. After playing with pipdeptree, this seems to be from poetry and tox. At least for those two packages, the need for two versions of virtualenv seems to have been resolved when comparing the latest version of both.

I tried just deleting the line pinning back Poetry and rerunning our pinning script, but Poetry ran for over 10 minutes before I finally killed it prompting me to open #9881 🙁 I didn't debug the problem further than that but I suspect we may need to resolve #9863 first or at the same time as this issue.

If the specific virtualenv problem has indeed been resolved, we could and probably should largely ignore the general problem, but I think it might be good for us to document it in https://github.com/certbot/certbot/blob/7ca1b8f2867b252f8657b49a3fb4c374670a629d/tools/pinning/DESIGN.md and/or in error output from the pinning scripts. I feel bad for the theoretical Certbot dev (who is almost certainly not me) who would otherwise have to independently rediscover the cause of the problem here, but maybe I'm paranoid and that's overkill.

@zoracon zoracon modified the milestones: 2.9.0, 2.10.0 Feb 27, 2024
@zoracon zoracon modified the milestones: 2.10.0, 2.11.0 Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: pkging area: tooling priority: significant Issues with higher than average priority that do not need to be in the current milestone.
Projects
None yet
Development

No branches or pull requests

3 participants