-
Notifications
You must be signed in to change notification settings - Fork 29
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
Installing a package editably in one envs given diamond hierarchy forces all cases to be editable #413
Comments
JFYI: I acknowledge the issue but I don't have bandwidth to fix it. You're welcome to propose a solution and I'll review the PR |
That's ok. Do you have any suggestions on why this might be working in the ordinary diamond hierarchy? (i.e: the case with only two, not three, legs) |
Hrm, removing |
Figured out why removing I think I now also understand why this is happening -- because when we do have a common sink and are using |
In a monorepo setup it's useful to be able to install base packages as editable (
-e
) in development, though in production you want to be able to install them fully into thesite-packages
so that you don't need to cart around the source tree separately from the python environment.It looks like this mostly works for a basic environment hierarchy, however something isn't quite right when there's a diamond hierarchy involved:
In the setup I have, a local package is referenced (non-editable) in
root
and thus transitively by bothleft
andright
.base-dev
installs it editable.dev
just pulls everything together for convenience.I realise this is a slightly complicated setup, so I've put a reproduce at https://github.com/PeterJCLaw/pip-compile-multi-diamond-hierarchy-bug-demo.
In the failing case, all references to the common utils package are forced to be editable.
Removing either
left.in
orright.in
fromdev.in
causes the result I want -- only things which depend onbase-dev.in
actually get forced to have the local package installed editable.The text was updated successfully, but these errors were encountered: