无法在Julia中使用FITSIO

时间:2018-09-11 10:59:39

标签: package julia fits

我刚开始使用Julia并安装了FITSIO软件包。加载时出现以下错误

julia> using FITSIO
[ Info: Precompiling FITSIO [525bcba6-941b-5504-bd06-fd0dc1a4d2eb]
ERROR: LoadError: syntax: extra token "ImageHDU" after end of expression
Stacktrace:
 [1] include at .\boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at .\loading.jl:1038
 [3] include(::Module, ::String) at .\sysimg.jl:29
 [4] top-level scope at none:2
 [5] eval at .\boot.jl:319 [inlined]
 [6] eval(::Expr) at .\client.jl:389
 [7] top-level scope at .\none:3
in expression starting at C:\Users\romain\.julia\packages\FITSIO\WueGk\src\FITSIO.jl:54
ERROR: Failed to precompile FITSIO [525bcba6-941b-5504-bd06-fd0dc1a4d2eb] to C:\Users\romain\.julia\compiled\v1.0\FITSIO\mbga9.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] macro expansion at .\logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at .\loading.jl:1184
 [4] macro expansion at .\logging.jl:311 [inlined]
 [5] _require(::Base.PkgId) at .\loading.jl:941
 [6] require(::Base.PkgId) at .\loading.jl:852
 [7] macro expansion at .\logging.jl:311 [inlined]
 [8] require(::Module, ::Symbol) at .\loading.jl:834

我试图删除并再次添加FITSIO程序包,但是我总是遇到相同的错误。 stacktrace似乎进入了FITSIO.jl的第54行,所以这是该文件的内容,从第46行到第57行

import .Libcfitsio: libcfitsio,
                    fits_assert_ok,
                    fits_assert_isascii,
                    TYPE_FROM_BITPIX

# HDU Types
@compat abstract type HDU end

type ImageHDU <: HDU
    fitsfile::FITSFile
    ext::Int
end

您知道如何使此软件包起作用吗? 谢谢:)

2 个答案:

答案 0 :(得分:1)

以下是FITSIO开发人员的答案:

  

此软件包的最新稳定版本与Julia不兼容   1.0。开发版本已经修复了该问题,但是从那时起我们就没有标记过新版本。

     

使用

删除FITSIO.jl
pkg> rm FITSIO
pkg> update
pkg> add FITSIO
pkg> dev FITSIO
     

rm之后,请确保您没有剩余的FITSIO.jl,然后   您可以在以下位置重新安装并切换到开发版本   软件包管理器,而无需安装其他软件包

答案 1 :(得分:0)

茱莉亚(Julia)似乎自动使用了错误的软件包

add FITSIO

我通过强制将下载网址设置为

解决了该问题
add https://github.com/JuliaAstro/FITSIO.jl