rez-bind python & rez-release depends-on-python: should python package be released? #1332
Replies: 6 comments 8 replies
-
I am not sure i really understand the problem. Trying to unravel a little. Secondly, you don't have to locally bind python necessarily. It can be a central package only (it might still wrap a local installation which is sometimes referred to as a "native" package, or it might carry the whole release as payload). There is no real difference between Also note that
It does not matter if the desired versions do not exist locally if they exist centrally. They do have to exist "somewhere" of course for this to work. I think the main misunderstanding here resolves around You will have to release all combinations of If you are starting out i would also suggest to skip |
Beta Was this translation helpful? Give feedback.
-
P.S. i removed the bug label because i don't think this can be considered a bug no matter how you look at it. Personally i also think this would be better suited for Github Discussions rather than an issue. |
Beta Was this translation helpful? Give feedback.
-
@instinct-vfx I converted it into a discussion as I also feel like it fits better into a discussion. |
Beta Was this translation helpful? Give feedback.
-
Hey all,
My 2c: We deprecate rez-bind and instead we have a built-in repository of
equivalent packages, such as python. I would keep this repo small (since
package recipes really belong elsewhere - but in the interests of
supporting a 'quickstart' with low barrier of entry, I think it's ok in
this instance). These packages should be constrained to providing only
simple things (os, platform), or things that bind to existing local
installations (python), and this should be made clear. I know that this
doesn't solve all problems, but I think that removing rez-bind would be a
good first step, as it's so often a source of confusion.
A
…On Mon, Jun 20, 2022 at 9:01 AM Allan Johns ***@***.***> wrote:
Hi Alexey,
It's not the implicit-ness here that means `os` doesn't have to exist -
it's the "weak reference" (~). See
https://github.com/AcademySoftwareFoundation/rez/wiki/Basic-Concepts#weak-references
.
On Fri, Jun 17, 2022 at 2:42 PM Alexey Pelykh ***@***.***>
wrote:
> You will have to release all combinations of os/arch/platform to a shared
> location.
>
> @instinct-vfx <https://github.com/instinct-vfx> but why if they are
> implicit? rez-env somepackage --no-local gives
>
> requested packages:
> somepackage
> ~platform==osx (implicit)
> ~arch==x86_64 (implicit)
> ~os==osx-12.4 (implicit)
>
> but rez-env os --no-local
>
> 06:40:11 ERROR PackageNotFoundError: Package could not be found: os==osx-12.4
>
> Since there's indeed no os/osx-12.4 in shared location, yet if there's
> no os package at all - it will fail to resolve somepackage.
> That's the expected behavior? Can I use some "catch-all" version of os
> package since it does not care about version when implicit?
>
> —
> Reply to this email directly, view it on GitHub
> <#1332 (reply in thread)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAMOUSSVO73K7423HU4XYKLVPP625ANCNFSM5ZAUZ77A>
> .
> You are receiving this because you were mentioned.Message ID:
> <AcademySoftwareFoundation/rez/repo-discussions/1332/comments/2968732@
> github.com>
>
|
Beta Was this translation helpful? Give feedback.
-
I've tried using the https://github.com/AcademySoftwareFoundation/rez/wiki/Package-Definition-Guide#example-package but I don't think the same is up to date - such package is not releasable to the shared repo and not resolvable by version, only |
Beta Was this translation helpful? Give feedback.
-
Hi Alexey,
It's not the implicit-ness here that means `os` doesn't have to exist -
it's the "weak reference" (~). See
https://github.com/AcademySoftwareFoundation/rez/wiki/Basic-Concepts#weak-references
.
…On Fri, Jun 17, 2022 at 2:42 PM Alexey Pelykh ***@***.***> wrote:
You will have to release all combinations of os/arch/platform to a shared
location.
@instinct-vfx <https://github.com/instinct-vfx> but why if they are
implicit? rez-env somepackage --no-local gives
requested packages:
somepackage
~platform==osx (implicit)
~arch==x86_64 (implicit)
~os==osx-12.4 (implicit)
but rez-env os --no-local
06:40:11 ERROR PackageNotFoundError: Package could not be found: os==osx-12.4
Since there's indeed no os/osx-12.4 in shared location, yet if there's no
os package at all - it will fail to resolve somepackage.
That's the expected behavior? Can I use some "catch-all" version of os
package since it does not care about version when implicit?
—
Reply to this email directly, view it on GitHub
<#1332 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAMOUSSVO73K7423HU4XYKLVPP625ANCNFSM5ZAUZ77A>
.
You are receiving this because you were mentioned.Message ID:
<AcademySoftwareFoundation/rez/repo-discussions/1332/comments/2968732@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
It's more of the what-is-by-design question. The situation is as follows:
python
(andos
,arch
,platform
) package tolocal_packages_path
python
,os
,arch
,platform
rez-pip
by default looks for the latest python & pip packages and corresponding versions may not be present locallySeems like a collision.
Workaround attempt no. 1: Specify the exact version for rez-pip that matches locally-bound python
Won't help since the same version can be released from different arch, producing
Workaround attempt no. 2: Remove all published python package versions, forcing it to use locally-bound
--no-local
is specifiedQuestions:
Thanks in advance for the guidance!
cc @nerdvegas
Beta Was this translation helpful? Give feedback.
All reactions