Hello everyone,
I have been struggling with this error for the past few weeks, and finally decided to ask it here.
Background:
I am trying to work on the Jupyter notebooks that supplement a course. These notebooks use Interact for interactive widgets. Other packages that are required for the notebooks are IJulia, PyPlot, Convex and SCS.
Problem:
The “Getting Started” notebook has the following code:
using Interact
print("n^2 ="); # print the text "n^2 = "
@manipulate for n in 0:10; # lets us manipulate the value of the parameter `n` in the range 0 to 10
n^2; # calculate and display the value of n squared
end
When I compiled this section of the notebook, I got the following error:
┌ Info: Precompiling Interact [c601a237-2ae4-5e1e-952c-7a85b0c7eef1]
└ @ Base loading.jl:1317
ERROR: LoadError: ArgumentError: Package Interact does not have Reexport in its dependencies:
-If you have Interact checked out for development and have
added Reexport as a dependency but haven't updated your primary
environment's manifest file, try `Pkg.resolve()`.
-Otherwise you may need to report an issue with Interact
Stacktrace:
[1] require(into::Module, mod::Symbol)
@ Base ./loading.jl:884
[2] include
@ ./Base.jl:386 [inlined]
[3] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base ./loading.jl:1213
[4] top-level scope
@ none:1
[5] eval
@ ./boot.jl:360 [inlined]
[6] eval(x::Expr)
@ Base.MainInclude ./client.jl:446
[7] top-level scope
@ none:1
in expression starting at /home/[my username]/.julia/packages/Interact/iMA1c/src/Interact.jl:3
Failed to precompile Interact [c601a237-2ae4-5e1e-952c-7a85b0c7eef1] to /home/[my username]/.julia/compiled/v1.6/Interact/jl_HR0VNV.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IJulia.IJuliaStdio{Base.PipeEndpoint}, internal_stdout::IJulia.IJuliaStdio{Base.PipeEndpoint})
@ Base ./loading.jl:1360
[3] compilecache(pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1306
[4] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1021
[5] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:914
[6] require(into::Module, mod::Symbol)
@ Base ./loading.jl:901
[7] eval
@ ./boot.jl:360 [inlined]
[8] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base ./loading.jl:1094
System Specifications:
- Linux Mint 20.1 Xfce 64-bit
- Julia 1.6.0 (first got this problem in Julia 1.5.x, the error persists)
Relevant Files:
-
/home/[my username]/.julia/packages/Interact/iMA1c/REQUIRE
:
julia 0.6
JSON 0.7
Compat 0.17
InteractBase 0.6.0
InteractBulma 0.3.3
WebIO
CSSUtil
Knockout
DataStructures 0.2.10
Widgets 0.2.3
- The
Interact
section of the file/home/[my username]/.julia/environments/v1.6/Manifest.toml
:
[[Interact]]
deps = ["CSSUtil", "Compat", "DataStructures", "InteractBase", "InteractBulma", "JSON", "Knockout", "WebIO", "Widgets"]
git-tree-sha1 = "1721f79bc50df4164aef158cfca89269410bdb19"
uuid = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1"
version = "0.8.0"
So it does seem like “package Interact does not have Reexport in its dependencies
”.
- Not sure if it’ll help but
/home/[my username]/.julia/environments/v1.6/Project.toml
:
[deps]
Convex = "f65535da-76fb-5f13-bab9-19810c17039a"
IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a"
Interact = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1"
PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee"
SCS = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13"
WebIO = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29"
- First 3 lines of
/home/[my username]/.julia/packages/Interact/iMA1c/src/Interact.jl
(where the error occurs):
__precompile__()
module Interact
Observations:
- These notebooks were originally written for Julia v0.6.2. (In fact, my goal is to update them.)
- The problem seems to be independent from Jupyter – the
julia>
prompt prints the same error when I typeusing Interact
. - The statement
If you have Interact checked out for development and have added Reexport as a dependency but haven’t updated your primary environment’s manifest file
does not apply to me. I get the error even after reinstalling everything.
Solution Attempts:
- Tried with different versions of Julia, including ones that are close to Julia v0.6.2.
- Rebuilt Interact. Prints
(@v1.6) pkg> build Interact
Building WebIO ────────→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/adc25e225bc334c7df6eec3b39496edfc451cc38/build.log`
Building Knockout ─────→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/8b5552a7a9efc2b0565e2256c919651e6f4e7931/build.log`
Building InteractBase ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/e63b4726c282829617de0f57ce1e4e050702439a/build.log`
Building Sass ─────────→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/de11179555c6363c5a61c4c94376db3498983734/build.log`
Building InteractBulma → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/8248c6ebe72be0edae02491f10caf464c0858e60/build.log`
Precompiling project...
Progress [========================================>] 3/3
✗ Interact
2 dependencies successfully precompiled in 8 seconds (59 already precompiled)
1 dependency errored
- Executed the commands under IJulia + Jupyter notebooks in JuliaGizmos / Interact.jl
- Added
Reexport
to the aforementioned Manifest.toml and REQUIRE files (which might not be a great idea).
All these attempts turned out to be fruitless.
My Request
Please help