-
-
Notifications
You must be signed in to change notification settings - Fork 66
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
[BUG] "Using .* with relational operator is superfluous and deprecated" #348
Comments
true, it does need some work, actually this part can be |
Is there any reason why |
Conda-forge just monkey patches it, iirc. |
Thanks @BastianZim! Then Then it seems like there are two possibilities for converting
The second one looks really confusing to me. Does the first one correctly handle prereleases? In other words, is |
Well, python recommends |
MIght be easier to discuss with core again if we just go with |
As I point out above, this unfortunately doesn't work with Conda:
How would this work if it's not supported by |
Ahh true sorry forgot
From what I remember, this is monkey patched in conda-forge. Since that's the only location where the recipe would be, it should be fine. |
Sometimes I'll run |
yeah, as @BastianZim had mentioned, it would be better to fix it by putting |
Do you mean |
Sorry, that should be |
I strongly suspect that I just found this where it seems to be quite the logic puzzle to deduce the minimal version string which is greater than Maybe I can find the relevant classes in Conda's source so that I can test these things myself... |
To be honest, I am not taking care much of pre-release versions because they shouldn't be in conda-forge in general. The dev can be added, it will need more tests. |
Makes sense. Thinking about it from that perspective, adding this obscure And the root of this issue seems like a bug in |
That’s what I was thinking. Maybe it’s easier to add support to conda-build for |
Ya, it seems that there was this attempt, but for some subtle reason it's not working properly. If we fix it upstream, then it'll only work properly for people who have up-to-date versions of conda-build. But I suppose we care primarily about conda-forge, where this isn't a problem. |
Yes. The only ones that would have to update are people like you who use it for testing but I guess you create fresh environments for that anyways? |
Honestly not so often. I just run From this perspective, if we fix |
Oh yeah that’s maybe not a bad idea at all! @marcelotrevisani What do you think? |
Hold on, perhaps the situation has changed over the past few years...
I just checked this, and it does appear to work, even though it's not documented. 😕 Presumably it was added for v3.20.5 in the PR linked above (the first bullet point under "Bug fixes:".) Therefore, I think we can solve this by using |
Building such recipes requires conda-build >=3.20.5 See conda#348
|
Building such recipes requires conda-build >=3.20.5 See #348
The problem with There's also one problem with roundtripped MatchSpec objects. |
@jaimergp thanks for the info! Yikes, that sounds like a mess. Does the repodata patching work well enough that it's safe to use If not, do you have any suggestions on how we could better solve this problem? |
I don't think we have audited every possibility, but that's the main issue: back-compatibility. The repodata patch only covers the channel repodata.json, but the metadata in the tarball will be still the same, which might leak into the When we discussed this in a core call some months ago I recall that the consensus was to avoid its use whenever possible, and use the more verbose but back compatible syntax: With respect to the round trip issues in |
I think, I just bumped into this (or at least it's related). One of my feedstocks has the requirements PR: conda-forge/aiofile-feedstock#3 |
First attempt at new fix: #368 |
Consider the package
dbt-core
. Theinstall_requires
contains"dbt-extractor~=0.4.1",
Running Grayskull this gets translated into
- dbt-extractor >=0.4.1,==0.4.*
Then running boa with
conda mambabuild -c conda-forge .
orconda build -c conda-forge .
produces the warningThis results in the unsatisfiable dependency
>=0.4.1,==0.4
since==0.4
seems to imply 0.4.0 and excludes 0.4.1.Interestingly, if I change it to a single equals (
>=0.4.1,=0.4.*
) then it doesn't complain and seems to work as intended.The text was updated successfully, but these errors were encountered: