markNZed / ARTimeNAB.jl

ARTime detector for the Numenta Anomaly Benchmark
GNU Affero General Public License v3.0
17 stars 2 forks source link

Julia error when running ARTime in NAB #6

Closed 943fansi closed 1 year ago

943fansi commented 1 year ago

Sorry to bother you, I got an error after run python run.py -d ARTime --detect --optimize --score --normalize --skipConfirmation.

ERROR: LoadError: setfield!: const field .name of type TypeName cannot be changed Stacktrace: [1] setproperty!(x::Core.TypeName, f::Symbol, v::Symbol) @ Base ./Base.jl:39 [2] top-level scope @ ~/.julia/packages/RedefStructs/JMYNd/src/RedefStructs.jl:138 [3] include @ ./Base.jl:419 [inlined] [4] 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:1554 [5] top-level scope @ stdin:1

markNZed commented 1 year ago

Thanks for the bug report, although it would be better to have a descriptive title and the error message in the comment (I've edited it). It looks like the Python JuliaCall package is not respecting the Julia version number in the file juliacalldeps.json and this probably started showing up when the latest Julia was no longer compatible with some of the code. The easiest solution for now is to force Python to use the correct version of Julia (1.7.0). To do this in Linux set the environment variable:

export PYTHON_JULIACALL_EXE=/your_install_path/julia-1.7.0/bin/julia

markNZed commented 1 year ago

I've submitted a pull request to NAB to update the README.md for the ARTime detector and I've added information about this to the README.md of ARTtimeNAB. Please let me know if it works (or not) for you.