-
Notifications
You must be signed in to change notification settings - Fork 43
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
Extra PyPI packages almost always causes dependency conflicts #38
Comments
Here(ish) is where I think the change can happen: composer-local-dev/composer_local_dev/environment.py Lines 539 to 546 in 89c54a5
|
Hi, koshy1123, thanks for raising this and offering to help. I will take a better look into this soon but just thinking about your idea, this won't work for upgrading/downgrading pypi packages that are already installed, right? |
Thanks for your response @ahidalgob - just to clarify, do you mean the use case where someone wants to actually test upgrading/downgrading their pypi packages in the local build before making that change in their composer environment? Then yeah, this won't work :/ |
Specifying extra pypi packages for a composer environment, and trying to replicate it in a local build almost always results in a dependency conflict.
A reproducible example is to start with a
composer-2.5.3-airflow-2.6.3
and add pypi packages:But depending on when you created the environment, sub-packages will have drifted, leading to incompatible builds in a local setting. I see logs that indicate that when trying to spin up the local container, eg:
You can get around this by specifying tje
requirements.txt
to be an exact copy of the current configuration generated bylist-packages
. That leads to more stable builds locally, and confidence that the local environment more closely represents the composer environment in the GCP project.What does the dev team think about that? Happy to contribute if this sounds like a good idea.
The text was updated successfully, but these errors were encountered: