-
Notifications
You must be signed in to change notification settings - Fork 4
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
Fix issue where python_version not correctly handled in converted package #97
base: main
Are you sure you want to change the base?
Fix issue where python_version not correctly handled in converted package #97
Conversation
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
Signed-off-by: Bryce Gattis <[email protected]>
…ior should be Signed-off-by: Bryce Gattis <[email protected]>
I'm getting pretty stumped with a solve for the issue. Effectively I'm trying to implement something that can more accurately represent the "environment markers" present in python package requirements.
We can't represent these 2 package requirements as variants like this:
because Rez will only select one of these variants at resolve time, when we may need both (ex. we request Python 3.7)
Any new |
I see, I don't know how to cleanly and easily solve this. The only way I can think of right now would be by "exploding" the matrix: variants = [
["importlib-metadata", "python<3.8"],
["click", "python>3.6"],
["click", "importlib-metadata", "python>=3.6|<3.8"]
] Alternatively, we could create a late bound variants functions... Both options would be hard to implement and both options wouldn't be reliable I think. The last option is to implement markers in rez to have a more declarative option than variants = [
Variant("maya", requires=["foo", "spam", "maya"], private_build_requires=["maya_devkit"]),
Variant("houdini", requires=["foo", "houdini"],
...
] If we take this and go even further, we could have
This would be a major change and it would require major changes to the rez codebase though... |
Not exactly sure how to fix this yet. But I've added a test that fails as expected with my use case.
Fixes #96.