微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在Julia中添加Plots程序包时,为什么会收到“检测到HTTP程序包无法满足的要求”错误?

如何解决尝试在Julia中添加Plots程序包时,为什么会收到“检测到HTTP程序包无法满足的要求”错误?

我正在使用Julia v1.5.2,并使用此代码添加Plots程序包

import Pkg
Pkg.add("Plots")

我收到以下错误消息。
我尝试重新安装Julia,还尝试了其他稳定版本(v1.0),但仍然收到相同类型的错误消息。我什至尝试使用Pkg管理器而不是使用import Pkg,但这似乎也没有什么作用。

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.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,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,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,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,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{},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

解决方法

尝试删除Pluto

using Pkg
pkg"rm Pluto"
pkg"add Plots"

然后更新软件包:

pkg"update"

我现在还将尝试显式安装Http并检查其版本:

pkg"add HTTP"
pkg"status HTTP"

冥王星似乎至少需要HTTP版本0.8.8,而该版本看起来并不像任何 special 。所以现在您应该能够重新安装Pluto

pkg"add Pluto"

如果有任何问题,请写下。确保Pluto与Plots一起工作。这是我的包裹状态(您可以提供类似信息):

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

有时其他软件包可能会压制所有版本。

,

] update Pluto(或导致此问题的依赖项的名称)

然后再试一次:] add Plots

说明:

在问题是由限制为 Pluto 的依赖项(此处为 restricted to versions ... by an explicit requirement)引起的情况下,显式要求可能是由于该依赖项(Pluto)本身造成的.因此,您可以在更新上游包(PlutoHTTP)之前独立更新该依赖项(Plots):

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。