JuliaPy / Conda.jl

Conda managing Julia binary dependencies
Other
172 stars 57 forks source link

Miniconda install fails behind firewall. (Conda install launched by IJulia) #186

Open elalaouifaris opened 3 years ago

elalaouifaris commented 3 years ago

Hi,

I have an issue at work where we have a firewall. When I add IJulia, launch jupyterlab and say yes to the Conda install, I have the followig error:

julia> IJulia.jupyterlab()
install Jupyter via Conda, y/n? [y]: y
[ Info: Downloading miniconda installer ...
┌ Error: Download failed: curl: (7) Failed to connect to repo.continuum.io port 443: Timed out
└ @ Base download.jl:43
ERROR: failed process: Process(`'C:\WINDOWS\System32\curl.exe' -s -S -g -L -f -o 'C:\Users\m.elalaouifaris\.julia\conda\3\installer.exe' https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe`, ProcessExited(7)) [7]

Stacktrace:
 [1] pipeline_error at .\process.jl:525 [inlined]
 [2] download_curl(::String, ::String, ::String) at .\download.jl:44
 [3] download at .\download.jl:62 [inlined]
 [4] _install_conda(::String, ::Bool) at C:\Users\m.elalaouifaris\.julia\packages\Conda\3rPhK\src\Conda.jl:164
 [5] _install_conda(::String) at C:\Users\m.elalaouifaris\.julia\packages\Conda\3rPhK\src\Conda.jl:155
 [6] runconda(::Cmd, ::String) at C:\Users\m.elalaouifaris\.julia\packages\Conda\3rPhK\src\Conda.jl:112
 [7] add(::String, ::String; channel::String) at C:\Users\m.elalaouifaris\.julia\packages\Conda\3rPhK\src\Conda.jl:188
 [8] add at C:\Users\m.elalaouifaris\.julia\packages\Conda\3rPhK\src\Conda.jl:187 [inlined] (repeats 2 times)
 [9] find_jupyter_subcommand(::String) at C:\Users\m.elalaouifaris\.julia\packages\IJulia\tOM8L\src\jupyter.jl:23
 [10] jupyterlab(; dir::String, detached::Bool) at C:\Users\m.elalaouifaris\.julia\packages\IJulia\tOM8L\src\jupyter.jl:108
 [11] jupyterlab() at C:\Users\m.elalaouifaris\.julia\packages\IJulia\tOM8L\src\jupyter.jl:107
 [12] top-level scope at REPL[4]:1

Installing manually minicoda in the right location in .julia folder works. Is there a way to specify firewall information like what is done with .condarc?

Thanks! Faris

xanfus commented 3 years ago

miniconda is now at https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe. What is the right location in .julia folder?

xanfus commented 3 years ago

There are lines at Conda package in file Conda.jl:

"Get the miniconda installer URL."
function _installer_url()
    res = "https://repo.continuum.io/miniconda/Miniconda$(MINICONDA_VERSION)-latest-"
    if Sys.isapple()

I just had to go up the stacktrace. I will edit the line and proceed.

xanfus commented 3 years ago

Ok. Now there are security issues. "next InitializeSecurityContext failed: Unknown error (0x80092012)". That's another issue.

xanfus commented 3 years ago

Download it manually and comment downloading function (at Conda.jl of Conda package):

"Install miniconda if it hasn't been installed yet; _install_conda(true) installs Conda even if it has already been installed."
function _install_conda(env::Environment, force::Bool=false)
    if force || !isfile(Conda.conda)
        @info("Downloading miniconda installer ...")
        if Sys.isunix()
            installer = joinpath(PREFIX, "installer.sh")
        end
        if Sys.iswindows()
            installer = joinpath(PREFIX, "installer.exe")
        end
        mkpath(PREFIX)
        # download(_installer_url(), installer)
deyandyankov commented 3 years ago

This can be remediated if https://github.com/JuliaPy/Conda.jl/pull/197 is merged.