Closed szcf-weiya closed 10 months ago
Just notice that here is an option auto_update_conda
for conda
https://docs.conda.io/projects/conda/en/latest/configuration.html
By default it is True, so the above 23.1.0 would always upgrade to 23.5.0. And the error ResolvePackageNotFound: - conda==23.1.0
occurs after upgrading to 23.5.0 (although no idea about the logic why it only failed when building RCall after PyCall)
Anyway, one workaround is to disable the auto-update of conda. So before building PyCall, I manually add the following line
auto_update_conda: false
to condarc-julia.yml
, and then build PyCall and RCall. It works!!!
However, I do not know how I can insert such config before building PyCall and RCall in the AutoMerge task. Since those building procedures are before my package, I cannot configure them before their builds. Any ideas? Thanks!
thank you so much for filing this issue - your suggestion to disable auto_update_conda
was working for me where other workarounds recently failed.
I shared my docker configuration here - maybe you can adapt it for your usecase https://github.com/JuliaPy/Conda.jl/issues/238#issuecomment-1627742313
@schlichtanders thanks for your feedback and share! Just pulled a request.
I encountered the error in the AutoMege step when registering my package that depends on RCall.jl. Here is the pull request on the General repo and the action log info.
https://github.com/JuliaRegistries/General/pull/86838 https://github.com/JuliaRegistries/General/actions/runs/5464785321/jobs/9947294633?pr=86838
I tried to reproduce the error locally to understand the logic. And I found that it should be related to the building order of
Conda.jl
,RCall.jl
,PyCall.jl
. Here are my testing results for different building order(I have deleted
~/.julia/conda
before each attempt to reinstall conda, since the culprit is the conda version)Specifically, after checking the build.log after building RCall.jl or PyCall.jl, both first install conda=23.1.0, and then update to be conda=23.5.0
I am quite confused why the order makes difference!
Although the simple workaround seems be to build RCall before PyCall, I am still trying to figure out how to implement it in the AutoMerge automated task.
(I noticed that building conda actually did not install conda, conda is installed until building PyCall or RCall.)
Can anyone give some advices/hints? Thanks. Or is there any simple way to avoid the conflict conda versions?