Hi,
I have been trying to use the Data Science tutorials in Julia Academy. However, when comes the time to instantiate the missing Julia packages from the first Jupyter notebook, the installation fails either because PyCall can’t be built or (while I tried to the PyCall issue) RCall can’t be built. Here are below the error messages I get when I try to either build or update PyCall (RCall failed also because it needed an up-to-date version of PyCall):
julia> Pkg.update()
Updating registry at `C:\Users\probi\.julia\registries\General.toml`
Installed PyCall ─ v1.94.1
Updating `C:\Users\probi\DataScience\Project.toml`
[438e738f] ↑ PyCall v1.92.3 ⇒ v1.94.1
Updating `C:\Users\probi\DataScience\Manifest.toml`
[438e738f] ↑ PyCall v1.92.3 ⇒ v1.94.1
Building PyCall → `C:\Users\probi\.julia\scratchspaces\44cfe95a-1eb2-52ea-b672-e2afdf69b78f\53b8b07b721b77144a0fbbbc2675222ebf40a02d\build.log`
ERROR: Error building `PyCall`:
┌ Info: Using the Python distribution in the Conda package by default.
└ To use a different Python version, set ENV["PYTHON"]="pythoncommand" and re-run Pkg.build("PyCall").
[ Info: Downloading miniconda installer ...
[ Info: Installing miniconda ...
ERROR: LoadError: failed process: Process(`'C:\Users\probi\.julia\conda\3\installer.exe' /S --no-shortcuts /NoRegistry=1 /AddToPath=0 /RegisterPython=0 '/D=C:\Users\probi\.julia\conda\3'`, ProcessExited(2)) [2]
Stacktrace:
[1] pipeline_error
@ .\process.jl:565 [inlined]
[2] run(::Cmd; wait::Bool)
@ Base .\process.jl:480
[3] run
@ .\process.jl:477 [inlined]
[4] _install_conda(env::String, force::Bool)
@ Conda C:\Users\probi\.julia\packages\Conda\x2UxR\src\Conda.jl:209
[5] _install_conda(env::String)
@ Conda C:\Users\probi\.julia\packages\Conda\x2UxR\src\Conda.jl:191
[6] runconda(args::Cmd, env::String)
@ Conda C:\Users\probi\.julia\packages\Conda\x2UxR\src\Conda.jl:126
[7] add(pkg::String, env::String; channel::String)
@ Conda C:\Users\probi\.julia\packages\Conda\x2UxR\src\Conda.jl:222
[8] add (repeats 2 times)
@ C:\Users\probi\.julia\packages\Conda\x2UxR\src\Conda.jl:220 [inlined]
[9] top-level scope
@ C:\Users\probi\.julia\packages\PyCall\ygXW2\deps\build.jl:79
[10] include(fname::String)
@ Base.MainInclude .\client.jl:476
[11] top-level scope
@ none:5
in expression starting at C:\Users\probi\.julia\packages\PyCall\ygXW2\deps\build.jl:43
Stacktrace:
[1] pkgerror(msg::String)
@ Pkg.Types C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Types.jl:67
[2] (::Pkg.Operations.var"#66#73"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String})()
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1060
[3] withenv(::Pkg.Operations.var"#66#73"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, ::Pair{String, String}, ::Vararg{Pair{String}
})
@ Base .\env.jl:172
[4] (::Pkg.Operations.var"#107#112"{String, Bool, Bool, Bool, Pkg.Operations.var"#66#73"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec})()
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1619
[5] with_temp_env(fn::Pkg.Operations.var"#107#112"{String, Bool, Bool, Bool, Pkg.Operations.var"#66#73"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec}, temp_env::String)
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1493
[6] (::Pkg.Operations.var"#105#110"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#66#73"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String})(tmp::String)
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1582
[7] mktempdir(fn::Pkg.Operations.var"#105#110"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#66#73"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String}, parent::String; prefix::String)
@ Base.Filesystem .\file.jl:764
[8] mktempdir(fn::Function, parent::String) (repeats 2 times)
@ Base.Filesystem .\file.jl:760
[9] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project; preferences::Dict{String, Any}, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool)
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1540
[10] build_versions(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}; verbose::Bool)
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1041
[11] build_versions(ctx::Pkg.Types.Context, uuids::Set{Base.UUID})
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:956
[12] up(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, level::Pkg.Types.UpgradeLevel; skip_writing_project::Bool)
@ Pkg.Operations C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\Operations.jl:1370
[13] up(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; level::Pkg.Types.UpgradeLevel, mode::Pkg.Types.PackageMode, update_registry::Bool, skip_writing_project::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
@ Pkg.API C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\API.jl:341
[14] up(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Pkg.Types.PackageMode, Tuple{Symbol}, NamedTuple{(:mode,), Tuple{Pkg.Types.PackageMode}}})
@ Pkg.API C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\API.jl:156
[15] up(; name::Nothing, uuid::Nothing, version::Nothing, url::Nothing, rev::Nothing, path::Nothing, mode::Pkg.Types.PackageMode, subdir::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\API.jl:171
[16] up()
@ Pkg.API C:\Users\probi\AppData\Local\Programs\Julia-1.8.4\share\julia\stdlib\v1.8\Pkg\src\API.jl:162
[17] top-level scope
@ REPL[43]:1
Obviously, I need some guidance to get out of that installation vicious circle, as the instructions from @logankilpatrick in the tutorial are not really covering that scenario (his are more for Mac or maybe Linux users and cover only RCall).
I am using Julia 1.8.4 on a Windows 11 environment. If that could help in any way, I have a few Anaconda environments where I have versions of Python and R installed.
Regards,
Patrick