This might be connected to this or this. However, none of the suggested solutions works for me.
I'm using VSCode with the Julia extension and I run everything in a Jupyter notebook. My first cell looks as follows.
using Distributions
using StatsBase
using CSV
using DataFrames
using HypothesisTests
using Plots
using GLM
using StatsPlots
Executing the cell yields to the following error.
ailed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_27z7QU.
Stacktrace:
[1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
# Base ./loading.jl:1466
[2] compilecache(pkg::Base.PkgId, path::String)
# Base ./loading.jl:1410
[3] _require(pkg::Base.PkgId)
# Base ./loading.jl:1120
[4] require(uuidkey::Base.PkgId)
# Base ./loading.jl:1013
[5] require(into::Module, mod::Symbol)
# Base ./loading.jl:997
[6] eval
# ./boot.jl:373 [inlined]
[7] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
# Base ./loading.jl:1196
[8] #invokelatest#2
# ./essentials.jl:716 [inlined]
[9] invokelatest
# ./essentials.jl:714 [inlined]
[10] (::VSCodeServer.var"#150#151"{VSCodeServer.NotebookRunCellArguments, String})()
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:18
[11] withpath(f::VSCodeServer.var"#150#151"{VSCodeServer.NotebookRunCellArguments, String}, path::String)
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/repl.jl:185
[12] notebook_runcell_request(conn::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::VSCodeServer.NotebookRunCellArguments)
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:14
[13] dispatch_msg(x::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::VSCodeServer.JSONRPC.MsgDispatcher, msg::Dict{String, Any})
# VSCodeServer.JSONRPC ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/JSONRPC/src/typed.jl:67
[14] serve_notebook(pipename::String; crashreporting_pipename::String)
# VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:94
[15] top-level scope
# ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/notebook/notebook.jl:12
Next, I have opened the Julia command line and removed the StatsPlots extensions using ] rm "StatsPlots" and readded it using ] add "StatsPlots" with no success. I have tried to execute precompile in the command line by hand which yields to the following output.
(#v1.7) pkg> precompile
Precompiling project...
✗ Arpack
✗ MultivariateStats
✗ StatsPlots
0 dependencies successfully precompiled in 11 seconds (216 already precompiled)
ERROR: The following 1 direct dependency failed to precompile:
StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd]
Failed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_1XjxNk.
ERROR: LoadError: InitError: could not load library "/home/david/.julia/artifacts/cdf6dc8aa6771a61c6c65a5a5c1a8d1b75f50a2f/lib/libarpack.so"
libopenblas64_.so: cannot open shared object file: No such file or directory
Stacktrace:
[1] macro expansion
# ~/.julia/packages/JLLWrappers/QpMQW/src/products/library_generators.jl:54 [inlined]
[2] __init__()
# Arpack_jll ~/.julia/packages/Arpack_jll/zfgpQ/src/wrappers/x86_64-linux-gnu-libgfortran5.jl:10
[3] top-level scope (repeats 2 times)
# none:1
during initialization of module Arpack_jll
in expression starting at /home/david/.julia/packages/Arpack/pLziT/src/Arpack.jl:2
ERROR: LoadError: Failed to precompile Arpack [7d9fca2a-8960-54d3-9f78-7d1dccf2cb97] to /home/david/.julia/compiled/v1.7/Arpack/jl_fCy8AR.
Stacktrace:
[1] include(x::String)
# MultivariateStats ~/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:1
[2] top-level scope
# ~/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:113
[3] top-level scope (repeats 2 times)
# none:1
in expression starting at /home/david/.julia/packages/MultivariateStats/zLpz8/src/kpca.jl:3
in expression starting at /home/david/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:1
ERROR: LoadError: Failed to precompile MultivariateStats [6f286f6a-111f-5878-ab1e-185364afe411] to /home/david/.julia/compiled/v1.7/MultivariateStats/jl_8Rrih5.
Stacktrace:
[1] top-level scope (repeats 2 times)
# none:1
in expression starting at /home/david/.julia/packages/StatsPlots/CpWiU/src/StatsPlots.jl:1
I have tried to restart the Julia kernel, restart VSCode, and I've tried the solution suggested in the second link that I have provided, meaning removing the package and run gc.
I have also removed and readded MultivariateStats and Arpack but the above error remains.
It might be from interest that it has worked before. I run into a different error first by executing the following cell.
#df data density(:Age, group = :Treatment, title = "Distribution of ages by treatment group", xlab = "Age", ylab="Distribution", legend=:topright)
The above yielded to the following error message.
LoadError: UndefVarError: #df not defined
It might have been the case that I accidently added the outdated extension StatPlots and that might have caused the above issue. However, I've removed the old extension and added the new one.
How can I resolve the above problem?
Edit: Running Pkg.status() yields to the following output.
(#v1.7) pkg> status
Status `~/.julia/environments/v1.7/Project.toml`
[336ed68f] CSV v0.10.2
[8f4d0f93] Conda v1.6.0
[a93c6f00] DataFrames v1.3.2
[31c24e10] Distributions v0.25.48
[38e38edf] GLM v1.6.1
[a2cc645c] GraphPlot v0.5.0
[86223c79] Graphs v1.6.0
[09f84164] HypothesisTests v0.10.6
[7073ff75] IJulia v1.23.2
[91a5bcdd] Plots v1.25.8
[c3e4b0f8] Pluto v0.18.0
[7f904dfe] PlutoUI v0.7.23
[438e738f] PyCall v1.93.0
[d330b81b] PyPlot v2.10.0
[aa4a32ff] SimpleHypergraphs v0.2.0
[2913bbd2] StatsBase v0.33.14
[f3b207a7] StatsPlots v0.14.33
I was able to resolve the problem. The root of the problem was the missing library libopenblas64. This could be due to a faulty Julia installation. Here is what I have done.
First, open the Julia command line and execute the following two commands.
using Libdl
filter!(p -> occursin("blas", p), Libdl.dllist())
In my case, this yielded to the following output.
1-element Array{String,1}:
"/usr/bin/../lib/libblas.so"
I have found a similar issue in this Github issue. The correct hint is given there as well. Since I am using Manjaro (built on the Arch Linux operating system), there might have been a problem with the Julia installation package that I used.
I removed my Julia installation and installed the official binaries: julia-bin by executing the following command.
yay -S julia-bin
Open the Julia command line again and run the first two commands. This time the output is as follows.
julia> filter!(p -> occursin("blas", p), Libdl.dllist())
2-element Vector{String}:
"/usr/bin/../lib/julia/libopenblas64_.so"
"/usr/bin/../lib/julia/libblastrampoline.so"
Executing my notebook works as expected now.
Related
Info:
$ julia --version
julia version 1.6.0
$ lscpu
~/root/MyPackage$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i9-9880H CPU # 2.30GHz
...
Say I want the following package structure, and want to use ReTest's parallel testing (my issue appears to be with how code-loading works in Distributed, so this isn't really a ReTest-specific issue).
| root/
| MyPackage/
| Project.toml
| Manifest.toml
| src/
| MyPackage.jl
| test/
| runtests.jl
| MyPackageTests.jl
I initialised this package in the following way:
$ cd root && julia
(...) pkg> generate MyPackage;
$ cd MyPackage && julia
(...) pkg> activate .
(...) pkg> instantiate
(...) pkg> add ReTest InlineTest Distributed;
...
Fill in MyPackage.jl, runtests.jl, and MyPackageTests.jl with some Julia code.
Not too important what that code is - although I am following the guide from here in ReTest.
Then to set up:
$ julia
(...) pkg> activate .
(...) pkg> instantiate
(MyPackage) pkg> st
Project MyPackage v0.1.0
Status `~/root/MyPackage/Project.toml`
[bd334432] InlineTest v0.2.0
[e0db7c4e] ReTest v0.3.2
[8ba89e20] Distributed
julia> LOAD_PATH
3-element Vector{String}:
"#" # Should be current active environment for MyPackage
"#v#.#" # Should be #v1.6 on my system
"#stdlib" # Should be absolute path of current Julia installation's stdlib
julia> # Should this code be in .jl files? Don't think that should matter.
julia> using Distributed
julia> addprocs(2)
julia> #everywhere include("test/MyPackageTests.jl")
ERROR: On worker 2:
LoadError: ArgumentError: Package MyPackage not found in current path:
- Run `import Pkg; Pkg.add("MyPackage")` to install the MyPackage package.
Stacktrace:
[1] require
# ./loading.jl:871
[2] include
# ./client.jl:444
[3] top-level scope
# none:1
[4] eval
# ./boot.jl:360
[5] #103
# /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/process_messages.jl:274
[6] run_work_thunk
# /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/process_messages.jl:63
[7] run_work_thunk
# /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/process_messages.jl:72
[8] #96
# ./task.jl:406
in expression starting at /path/to/root/MyPackage/test/MyPackageTests.jl:1
...and 2 more exceptions.
Stacktrace:
[1] sync_end(c::Channel{Any})
# Base ./task.jl:364
[2] macro expansion
# ./task.jl:383 [inlined]
[3] remotecall_eval(m::Module, procs::Vector{Int64}, ex::Expr)
# Distributed /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/macros.jl:223
[4] top-level scope
# /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Distributed/src/macros.jl:207
I'd like to understand why this is. On GitHub I see this issue that was supposedly fixed. I can confirm when I run that example that I also get the exact same problem as above with MyPackage, if the using statement involves the package that the environment is for.
Before filing a bug or opening an issue there, I'd like to check here in case this is a process problem on my part. If not, there's evidently something wrong with Distributed/ReTest and I'll open tickets for those. Any help much appreciated.
Following on from what #carstenbauer said, the active Julia environment is not automatically propagated to worker processes by default. The way around this is to set the environment in the arguments to the call to addprocs like so:
julia> using Distributed
julia> addprocs(2, exeflags="--project=$(Base.active_project())")
julia> #everywhere include("test/MyPackageTests.jl")
julia> MyPackageTests.runtests() # runs to completion
I can confirm that this works with both the MyPackage example as well as the one shown in the JuliaLang issue. Thanks to those that contributed towards this answer.
Try the following code:
using Distributed
addprocs(4) # or whatever you need or use the -p parameter
using Pkg
pkg"activate ."
pkg"instantiate" # run this when needed
using MyPackage # first load package only an the master worker
#everywhere pkg"activate ."
#everywhere using MyPackage
Explanation:
each Julia processes is totally separated so it has its own package state, variables, memory etc.
Please note that you will usually prefer to load the package first on the master node as some packages might be performing some actions where loaded for the first time.
JuliaPro - https://juliacomputing.com/products/juliapro/
I just get this Error with JuliaPro 1.5.2 - JupyterNote works fine -
MacBook Pro 2019 - Tried to uninstall and reinstall, but I'm not understanding why JuliaPro is giving me this error.
EDIT: Mac - Security & Privacy - Files and Folders - Atom all checked - JuliaPro-1.5.2.app - all checked
Full Disk Access - checked
Atom v0.12.23,
CSV v0.7.7,
DataFrames v0.21.8,
Glob v1.3.0,
IJulia v1.22.0,
JuliaDB v0.13.0,
Juno v0.8.4,
Pipe v1.3.0,
PkgAuthentication v0.3.0,
Weave v0.10.6,
Statistics
using Glob, CSV, Tables, DataFrames
fileDirectory = "/Users/Documents/CSV"
files = glob("*.csv", fileDirectory)
ERROR: SystemError: unable to read directory /Users/Documents/CSV: Operation not permitted
Stacktrace:
[1] readdir(::String; join::Bool, sort::Bool) at ./file.jl:780
[2] readdir at ./file.jl:775 [inlined]
[3] _glob!(::Array{String,1}, ::Glob.FilenameMatch{SubString{String}}) at /Users/.julia/packages/Glob/GOSfX/src/Glob.jl:399
[4] glob(::String, ::String) at /Users/.julia/packages/Glob/GOSfX/src/Glob.jl:367
[5] top-level scope at none:1
EDIT to Error: This shows up in Atom
Juno-julia-run
Argument to path.dirname must be a string
Object.dirname - /Applications/JuliaPro-1.5.2-1.app/Contents/MacOS/JuliaPro-Juno-1.5.2-1.app/Contents/Resources/JuliaPro-Juno-1.5.2-1/Contents/Resources/app.asar/src/electron-shims.js:9:10
- /Applications/JuliaPro-1.5.2-1.app/Contents/MacOS/JuliaPro-Juno-1.5.2-1.app/Contents/Resources/julia_atom_1.5.2-1/packages/JuliaRun-in-JuliaPro/lib/fs-utils.js:29:31
Generator.throw - null:null:null
step - /Applications/JuliaPro-1.5.2-1.app/Contents/MacOS/JuliaPro-Juno-1.5.2-1.app/Contents/Resources/julia_atom_1.5.2-1/packages/JuliaRun-in-JuliaPro/lib/fs-utils.js:41:273
I'm using Julia v1.5.2 and using this code to add the Plots package
import Pkg
Pkg.add("Plots")
And I'm getting an error message that is given below.
I've tried reinstalling Julia and also tried the other stable version (v1.0), but I'm still getting the same type of error message. I even tried using the Pkg manager instead of using import Pkg, but it doesn't seem to make a difference either.
ERROR: Unsatisfiable requirements detected for package HTTP [cd3eb016]:
HTTP [cd3eb016] log:
├─HTTP [cd3eb016] has no known versions!
└─found to have no compatible versions left with Pluto [c3e4b0f8]
└─Pluto [c3e4b0f8] log:
├─possible versions are: [0.2.0, 0.3.0-0.3.6, 0.4.0-0.4.3, 0.5.0-0.5.21, 0.6.0-0.6.4, 0.7.0-0.7.10, 0.8.0-0.8.10, 0.9.0-0.9.11, 0.10.0-0.10.13, 0.11.0-0.11.14, 0.12.0-0.12.3] or uninstalled
└─restricted to versions * by an explicit requirement, leaving only versions [0.2.0, 0.3.0-0.3.6, 0.4.0-0.4.3, 0.5.0-0.5.21, 0.6.0-0.6.4, 0.7.0-0.7.10, 0.8.0-0.8.10, 0.9.0-0.9.11, 0.10.0-0.10.13, 0.11.0-0.11.14, 0.12.0-0.12.3]
Stacktrace:
[1] propagate_constraints!(::Pkg.Resolve.Graph, ::Set{Int64}; log_events::Bool) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:1005
[2] propagate_constraints! at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:946 [inlined] (repeats 2 times)
[3] simplify_graph!(::Pkg.Resolve.Graph, ::Set{Int64}; clean_graph::Bool) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:1460
[4] simplify_graph! at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Resolve\graphtype.jl:1460 [inlined] (repeats 2 times)
[5] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:375
[6] targeted_resolve at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:1114 [inlined]
[7] tiered_resolve(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:1100
[8] _resolve at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:1120 [inlined]
[9] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Windows) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:1135
[10] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Windows, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:188
[11] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:139
[12] #add#21 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:67 [inlined]
[13] add at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:67 [inlined]
[14] #add#20 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:66 [inlined]
[15] add at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:66 [inlined]
[16] add(::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:65
[17] add(::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:65
[18] top-level scope at REPL[19]:1
Try to remove Pluto
using Pkg
pkg"rm Pluto"
pkg"add Plots"
Then update the packages:
pkg"update"
I would also now try to explicitly install Http and check it version:
pkg"add HTTP"
pkg"status HTTP"
Pluto seems to require at least HTTP version 0.8.8 which does not look like anything special. So now you should be able to install back Pluto
pkg"add Pluto"
If anything goes wrong please write it. For sure Pluto is working together with Plots. This is my package status here (you could provide similar info):
julia> Pkg.status.(["Pluto","HTTP","Plots"]);
Status `C:\JuliaPkg\Julia1.5.2\environments\v1.5\Project.toml`
[c3e4b0f8] Pluto v0.12.3
Status `C:\JuliaPkg\Julia1.5.2\environments\v1.5\Project.toml`
[cd3eb016] HTTP v0.8.19
Status `C:\JuliaPkg\Julia1.5.2\environments\v1.5\Project.toml`
[91a5bcdd] Plots v1.6.9
Sometimes some other package might be holding down versions of everything.
] update Pluto (or the name of the dependency causing this problem)
Then try again: ] add Plots
Explanation:
In the situation where the problem is caused by a dependency (here, Pluto) with a restriction of restricted to versions ... by an explicit requirement, the explicit requirement is likely due to that dependency (Pluto) itself. So you can simply update that dependency (Pluto) independently before updating the upstream packages (HTTP or Plots):
I'm new to programming and am having difficulty running a script in Julia. I will try to be as detailed as possible so that it will be easier to help me. I am using VS code as my code editor and have made a folder on my desktop called: FirstProgram. In this folder I have created a file called: HelloWorld.jl. This file has the following code in it:
println("Hello World")
So in order to run this code, I opened the julia terminal in VS code and typed
include("HelloWorld.jl")
When I did this, nothing happened.
Next I tried to run this code in the julia repl outside of VS code by typing:
include("HelloWorld.jl")
When I did this, I was met with the following error:
julia> include("HelloWorld.jl")
ERROR: could not open file C:\Users\User\AppData\Local\Julia-1.1.1\HelloWorld.jl
Stacktrace:
[1] include at .\boot.jl:326 [inlined]
[2] include_relative(::Module, ::String) at .\loading.jl:1038
[3] include(::Module, ::String) at .\sysimg.jl:29
[4] include(::String) at .\client.jl:403
[5] top-level scope at none:0
julia>
After doing more research, I tried running this code in command prompt with julia and was met with the same error as above.
Lastly, I tried the code runner extension in VS code. This time I was not met with errors however nothing would output.
Can anyone explain how to run a julia script and how I can avoid the above errors? Moreover, can someone explain how to use the code runner extension successfully? Thanks in advance.
I'm trying to download a file from GitHub using Julia in Jupyter Notebook:
isfile("housing.data") ||
download("https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data",
"housing.data")
rawdata = readdlm("housing.data")'
I have Windows and Julia v1.1.1 version. I get the error message that doesn't say anything to me:
failed process: Process(`'C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe' -Version 3 -NoProfile -Command "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; (New-Object System.Net.Webclient).DownloadFile('https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data', 'housing.data')"`, ProcessExited(3221225477)) [3221225477]
Stacktrace:
[1] error(::String, ::Base.Process, ::String, ::Int64, ::String) at .\error.jl:42
[2] pipeline_error at .\process.jl:785 [inlined]
[3] download(::String, ::String) at .\download.jl:20
[4] top-level scope at In[3]:1
I tried googling the message but it's too long to find anything, I didn't find any related topic with problems like this. What might be the reason for this error? Do I need to provide you with some other information?
Base.download relies on availability and configuration of system commands. In particular its documentation reads:
"this function relies on the availability of external tools such as curl, wget or fetch to download the file and is provided for convenience. For production use or situations in which more options are needed, please use a package that provides the desired functionality instead."
Following this advice you should do:
using Pkg
Pkg.add("HTTP")
using HTTP
HTTP.download("https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data", "housing.data")
In this way you use pure Julia to download the file rather then various system tools and maintain the homogeneous behavior of your code across platforms.