Skip to content
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

Try to resolve issues for x86 Windows #1045

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mkitti
Copy link
Member

@mkitti mkitti commented Jul 18, 2023

miniforge is no longer available for x86 Windows and does not have satisified solve

Fix JuliaPy/Conda.jl#241 (comment)

@codecov-commenter
Copy link

codecov-commenter commented Jul 18, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (2a9f077) 67.30% compared to head (691dffd) 67.30%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1045   +/-   ##
=======================================
  Coverage   67.30%   67.30%           
=======================================
  Files          20       20           
  Lines        2025     2025           
=======================================
  Hits         1363     1363           
  Misses        662      662           
Flag Coverage Δ
unittests 67.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

# and does not have satisified_skip_solve
Conda.add("numpy")
else
Conda.add("numpy"; satisfied_skip_solve=true)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't Conda.jl just ignore this flag in that case?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In most cases, I would want Conda.jl to error rather than silenting ignoring the keyword. The caller should either anticipate the error or handle the error.

Here, I'm just trying to maintain backwards compatability for a very specific situation, 32-bit Windows, which upstream conda no longer supports.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not 100% convinced that an error is the behavior Conda.add users would want.

The satisfied_skip_solve flag in practice mostly seems like an optional hint to speed things up, as it is used here, and it's a bit ugly that callers of Conda.jl will have to know about and implement the 32-bit windows exception themselves.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The critical feature here is not to speed things up, but rather maintain the current version of numpy if already installed.

@MilesCranmer encountered the original issue when working with a conda-forge recipe. Conda-forge tries to depend on the oldest numpy possible for compatibility, but this was inadvertently upgrading numpy to the latest version. This created a binary package cobbling situation.

--satisfied-skip-solve is an important feature supported by all current releases of miniconda and miniforge. At minimum at warning would be needed if this not succeed. Otherwise, we may be doing something the user did not intend.

Honestly, my preferred solution is to stop supporting conda on 32-bit Windows and Python 2.7 entirely due to lack of upstream support. However, this incompatibility occurred without warning.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, my preferred solution is to stop supporting conda on 32-bit Windows and Python 2.7 entirely due to lack of upstream support

I also see this as the best solution.

@mkitti
Copy link
Member Author

mkitti commented Jul 19, 2023

@davidanthoff any thoughts about this?

@mkitti
Copy link
Member Author

mkitti commented Jul 19, 2023

I'm trying to clarify conda's perspective on 32-bit Windows and why --satisfied-skip-solve may not be available on that platform.

This seems to be where conda-forge's support stopped:
conda-forge/staged-recipes#5640

Scipy appears to have dropped support since October 2022:
https://discuss.python.org/t/dropping-32-bit-packages/5476/10

@mkitti
Copy link
Member Author

mkitti commented Jul 19, 2023

I created an alternative solution at JuliaPy/Conda.jl#246 . There Conda.jl will issue a warning if someone tries to use --satisified-skip-solve on 32-bit Windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants