来自 Python 背景,我现在正在尝试学习 Julia,所以我的问题可能与我在 Python 和 Julia 之间的虚拟环境之间的混淆有关。在 Julia 中,我在将包添加到项目虚拟环境中时遇到困难。但是,当我不使用项目环境(例如在 REPL 中)时,添加包没有问题:
(@v1.6) pkg>add CSV
成功添加CSV包。但是,当我激活我的项目环境(称为self_learn)并尝试将相同的包添加到此环境中时,我在 REPL 中看到以下错误消息:
(@1.6) pkg> activate .
(self_learn) pkg> st
Project self_learn v0.1.0
Status `D:\Dropbox\Julia\self_learn\Project.toml` (empty project)
(self_learn) pkg> add CSV
Resolving package versions...
Updating `D:\Dropbox\Julia\self_learn\Project.toml`
[336ed68f] + CSV v0.8.4
Updating `D:\Dropbox\Julia\self_learn\Manifest.toml`
[336ed68f] + CSV v0.8.4
[9a962f9c] + DataAPI v1.6.0
[e2d170a0] + DataValueInterfaces v1.0.0
[82899510] + IteratorInterfaceExtensions v1.0.0
[69de0a69] + Parsers v1.1.0
[2dfb63ee] + PooledArrays v1.2.1
[91c51154] + SentinelArrays v1.2.16
[3783bdb8] + TableTraits v1.0.1
[bd369af6] + Tables v1.4.2
[2a0f44e3] + Base64
[ade2ca70] + Dates
[9fa8497b] + Future
[b77e0a4c] + InteractiveUtils
[8f399da3] + Libdl
[37e2e46d] + LinearAlgebra
[56ddb016] + Logging
[d6f4376e] + Markdown
[a63ad114] + Mmap
[de0858da] + Printf
[9a3f8284] + Random
[9e88b42a] + Serialization
[8dfed614] + Test
[4ec0a83e] + Unicode
Precompiling project...
Progress [> ] 0/1
? self_learn
? Error: Pkg.precompile error
? exception =
? ArgumentError: Invalid header in cache file C:\Users\Admin\.julia\compiled\v1.6\self_learn\jl_A3B4.tmp.
? Stacktrace:
? [1] preferences_hash(cachefile::String)
? @ Base .\loading.jl:1478
? [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IOBuffer, internal_stdout::Base.DevNull)
? @ Base .\loading.jl:1337
? [3] (::Pkg.API.var"#215#242"{IOBuffer, String, Base.PkgId})()
? @ Pkg.API C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Pkg\src\API.jl:1144
? [4] with_logstate(f::Function, logstate::Any)
? @ Base.CoreLogging .\logging.jl:491
? [5] with_logger
? @ .\logging.jl:603 [inlined]
? [6] macro expansion
? @ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Pkg\src\API.jl:1143 [inlined]
? [7] (::Pkg.API.var"#212#239"{Bool, Vector{Task}, Pkg.API.var"#handle_interrupt#231"{Base.Event, ReentrantLock, Base.TTY}, Pkg.API.var"#color_string#229", Base.Event, Base.Event, ReentrantLock, Vector{Base.PkgId}, Vector{Base.PkgId}, Dict{Base.PkgId, String}, Vector{Base.PkgId}, Vector{Base.PkgId}, Dict{Base.PkgId, Bool}, Dict{Base.PkgId, Base.Event}, Dict{Base.PkgId, Bool}, Dict{Base.UUID, Pkg.Types.PackageEntry}, Vector{Base.PkgId}, Bool, Base.TTY, Base.Semaphore, String, Vector{String}, Vector{Base.PkgId}, Base.PkgId})()
? self_learn
(self_learn) pkg>
Run Code Online (Sandbox Code Playgroud)
添加其他包,例如DataFrames和Pipe导致相同的预编译错误。我已尝试卸载并重新安装 Julia 1.6.1,但此问题仍然存在。我正在使用 Windows 10。
任何帮助将不胜感激。
您的模块的包缓存似乎已停止。当您为模块安装软件包并点击时,很可能会发生这种情况Ctrl+Enter- 软件包存储库通常无法很好地适应这种情况。
卸载 Julia 没有帮助,因为软件包存储库保存在独立于 Julia 安装的文件夹中~/.julia(或在 Windows 上)。%HOME%\.julia
您需要做的只是删除该文件夹:C:\Users\Admin\.julia\compiled\v1.6\self_learn\
如果这没有帮助,您可能需要安装整个文件夹C:\Users\Admin\,但这需要重新安装所有软件包。
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |