安装pkg出现404的问题

ERROR: Error when installing package SARSOP:
HTTP.ExceptionRequest.StatusError(404, HTTP.Messages.Response:
"""
HTTP/1.1 404 Not Found
Server: openresty/1.15.8.2
Date: Fri, 14 Feb 2020 13:03:51 GMT
Content-Type: text/html
Content-Length: 159
Connection: keep-alive

""")
Stacktrace:
 [1] #request#1 at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\HTTP\src\ExceptionRequest.jl:22 [inlined]
 [2] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}, ::typeof(HTTP.request), ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Nothing) at .\none:0
 [3] (::getfield(Base, Symbol("###50#51#53")){ExponentialBackOff,getfield(HTTP.RetryRequest, Symbol("##2#3")){Bool,HTTP.Messages.Request},typeof(HTTP.request)})(::Base.Iterators.Pairs{Symbol,getfield(CredentialsHandler, Symbol("##1#3")){String},Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}}, ::getfield(Base, Symbol("##50#52")){getfield(Base, Symbol("###50#51#53")){ExponentialBackOff,getfield(HTTP.RetryRequest, Symbol("##2#3")){Bool,HTTP.Messages.Request},typeof(HTTP.request)}}, ::Type, ::Vararg{Any,N} where N) at .\error.jl:249
 [4] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}, ::typeof(HTTP.request), ::Type{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Nothing) at .\none:0
 [5] #request#1(::VersionNumber, ::String, ::Nothing, ::Function, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(HTTP.request), ::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}, ::String, 
::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Nothing) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\HTTP\src\MessageRequest.jl:47 [6] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}, ::typeof(HTTP.request), ::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Nothing) at .\none:0
 [7] #request#1(::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,getfield(CredentialsHandler, Symbol("##1#3")){String},Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}}, ::typeof(HTTP.request), ::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Nothing) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\HTTP\src\RedirectRequest.jl:24
 [8] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}, ::typeof(HTTP.request), ::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Nothing) at .\none:0
 [9] #request#5(::Base.Iterators.Pairs{Symbol,getfield(CredentialsHandler, Symbol("##1#3")){String},Tuple{Symbol},NamedTuple{(:iofunction,),Tuple{getfield(CredentialsHandler, Symbol("##1#3")){String}}}}, ::typeof(HTTP.request), ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Nothing) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\HTTP\src\HTTP.jl:300
 [10] download(::String, ::String) at .\none:0
 [11] (::getfield(BinaryProvider.JuliaTeam, Symbol("##1#2")){getfield(BinaryProvider, Symbol("##51#76")){getfield(BinaryProvider, Symbol("##46#71")){Cmd,String}}})(::String, ::String) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\BinaryProvider\src\JuliaTeam.jl:18
 [12] #download#97(::Bool, ::typeof(BinaryProvider.download), ::String, ::String) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\BinaryProvider\src\PlatformEngines.jl:494
 [13] download at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\BinaryProvider\src\PlatformEngines.jl:493 [inlined]
 [14] install_archive(::Array{String,1}, ::Base.SHA1, ::Base.UUID, ::String) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\Pkg\src\Operations.jl:517
 [15] macro expansion at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\Pkg\src\Operations.jl:659 [inlined]
 [16] (::getfield(Pkg.Operations, Symbol("##26#29")){Symbol,Pkg.Types.Context,Dict{Base.UUID,Base.SHA1},Dict{Base.UUID,Array{String,1}},Channel{Any},Channel{Any}})() at .\task.jl:268

上述希望各位指教,另外问问大家有没有什么用于马尔可夫过程的包推荐呢

SARSOP.jl 最近也在更新,应该不是包的问题。

网不好找个好梯子。

我先下载的POMDPs很快就下好了

先确认下。

你现在 POMDPs 已经装好了,然后按照以下命令装 SARSOP 就报错了

# ] add POMDPs
using POMDPs
using Pkg
POMDPs.add_registry()
Pkg.add("SARSOP")

我正在装,目前还没报错

对的对的
++++++++

我发现有一个依赖是下的真的慢

我挂在了 http://web.stanford.edu/group/sisl/resources/appl-0.96-win-x64.zip

镜像:lanzous.com

log
│ ┌ Error: Download failed: curl: (56) Recv failure: Connection was reset
│ └ @ Base download.jl:43
│ ERROR: LoadError: failed process: Process(`'C:\WINDOWS\System32\curl.exe' -s -S -g -L -f -o appl-0.96-win-x64.zip http://web.stanford.edu/group/sisl/resources/appl-0.96-win-x64.zip`, ProcessExited(56)) [56]
│
│ Stacktrace:
│  [1] pipeline_error at .\process.jl:525 [inlined]
│  [2] download_curl(::String, ::String, ::String) at .\download.jl:44
│  [3] download(::String, ::String) at .\download.jl:62
│  [4] top-level scope at C:\Users\woclass\.julia\packages\SARSOP\ROPAn\deps\build.jl:13
│  [5] include at .\boot.jl:328 [inlined]
│  [6] include_relative(::Module, ::String) at .\loading.jl:1105
│  [7] include(::Module, ::String) at .\Base.jl:31
│  [8] include(::String) at .\client.jl:424
│  [9] top-level scope at none:5
│ in expression starting at C:\Users\woclass\.julia\packages\SARSOP\ROPAn\deps\build.jl:6
│
│ Full log at C:\Users\woclass\.julia\packages\SARSOP\ROPAn\deps\build.log
└ @ Pkg.Operations D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\backwards_compatible_isolation.jl:649

C:\Users\你的用户名\.julia\packages\SARSOP\ROPAn\deps

if Sys.iswindows()
   if ispath("appl-0.96win")
       rm("appl-0.96win", recursive=true)
   end
   download("https://github.com/personalrobotics/appl/archive/0.96.zip", "appl-0.96win.zip")
   run(`unzip appl-0.96win.zip`) # 解压到当前目录
   cd("appl-0.96/src")
   download("http://web.stanford.edu/group/sisl/resources/appl-0.96-win-x64.zip", "appl-0.96-win-x64.zip")
   run(`unzip appl-0.96-win-x64.zip`)
   import SARSOP
   cd(joinpath(dirname(pathof(SARSOP)), "..", "deps")) # 切换到 deps 目录
   run(`cmd /c move appl-0.96 appl`) # 重命名为 `appl`
end

以上是这个包的 build 脚本,一共就两个下载操作,简单易懂,你看看对应的文件有没有就知道成功与否。
缺啥下啥,然后解压一下,改改名,就能用了。

以上两个包下载、解压、重命名,弄好了然后 using SARSOP 应该就能用了。

谢谢大手,我明天研究研究

我是在juliapro里面操作的这样有影响吗,报了这个错

┌ Error: Download failed: curl: (56) Proxy CONNECT aborted
└ @ Base download.jl:43
ERROR: LoadError: failed process: Process('C:\WINDOWS\System32\curl.exe' -s -S -g -L -f -o appl-0.96win.zip https://github.com/personalrobotics/appl/archive/0.96.zip, ProcessExited(56)) [56]

直接手工下载,解压,重命名。

不用 julia, 文件夹找对就行

我现在把一个解压到
C:\Users\Mr.li.juliapro\JuliaPro_v1.2.0-1\packages\SARSOP\ROPAn\deps
改名为appl
另一个解压到
C:\Users\Mr.li.juliapro\JuliaPro_v1.2.0-1\packages\SARSOP\ROPAn\deps\appl\src
这样就可以了吗,还是会报错,说路径不对

你的 SARSOP 文件夹下有几个文件夹?用它生成的哪个,可能并不叫 ROPAn

我这边这样解压就能用了。(using 没报错,但我没做进一步的测试)

报错也发一下

julia> using SARSOP
ERROR: ArgumentError: Package SARSOP not found in current path:- Run import Pkg; Pkg.add("SARSOP") to install the SARSOP package.
就只有我发的路径里的和解压的没有多余的文件夹

你这个报错就说明你没装过 SARSOP,而不是安装失败。

julia> using NotAPkg
ERROR: ArgumentError: Package NotAPkg not found in current path:
- Run `import Pkg; Pkg.add("NotAPkg")` to install the NotAPkg package.

Stacktrace:
 [1] require(::Module, ::Symbol) at .\loading.jl:887

julia>                                                  

问题不大, 重新来一遍安装过程:

SARSOP 文件夹下东西删了。

using POMDPs
POMDPs.add_registry() # 保险起见,也加上这个
using Pkg
Pkg.rm("SARSOP") # 删包。报错提示没这个包问题不大 ,不管(package names could not be resolved)
Pkg.gc() # 清理垃圾

搭好梯子,重新 using Pkg; Pkg.add("SARSOP") 等 2~5 min,你也可以多等等。
装的太慢了或者报错,就关了 julia 然后安装上面手工下载依赖的方法装一下。
这个时候 packages\SARSOP 文件夹下应该是会自动生成一个文件夹的。

我运行

if Sys.iswindows()
if ispath(“appl-0.96win”)
rm(“appl-0.96win”, recursive=true)
end
download(“https://github.com/personalrobotics/appl/archive/0.96.zip”, “appl-0.96win.zip”)
run(unzip appl-0.96win.zip) # 解压到当前目录
cd(“appl-0.96/src”)
download(“http://web.stanford.edu/group/sisl/resources/appl-0.96-win-x64.zip”, “appl-0.96-win-x64.zip”)
run(unzip appl-0.96-win-x64.zip)
import SARSOP
cd(joinpath(dirname(pathof(SARSOP)), “…”, “deps”)) # 切换到 deps 目录
run(cmd /c move appl-0.96 appl) # 重命名为 appl
end
会报错,而且也没有出现SARSOP文件夹,这个是我要自己建的吗

┌ Error: Download failed: curl: (56) Proxy CONNECT aborted
└ @ Base download.jl:43
ERROR: failed process: Process('C:\WINDOWS\System32\curl.exe' -s -S -g -L -f -o appl-0.96win.zip https://github.com/personalrobotics/appl/archive/0.96.zip, ProcessExited(56)) [56]

那个是给你看的,不用运行它。

运行我上面的代码。

我先运行

using POMDPs
POMDPs.add_registry() # 保险起见,也加上这个
using Pkg
Pkg.rm(“SARSOP”) # 删包。报错提示没这个包问题不大 ,不管(package names could not be resolved)
Pkg.gc() # 清理垃圾
然后运行

using Pkg; Pkg.add("SARSOP")
之后报错
Error when installing package SARSOP:
HTTP.ExceptionRequest.StatusError(404, HTTP.Messages.Response:
“”"
HTTP/1.1 404 Not Found
Server: openresty/1.15.8.2
Date: Sat, 15 Feb 2020 07:38:15 GMT
Content-Type: text/html
Content-Length: 159
Connection: keep-alive

“”")
Stacktrace:
[1] #request#1 at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\HTTP\src\ExceptionRequest.jl:22 [inlined]

但是package里面没有出现SARSOP的文件夹,那我往哪里解压呀

你打印一下 DEPOT_PATH 看看,默认是去第一个文件夹下的 packages 下取找对应的包

julia> DEPOT_PATH
3-element Array{String,1}:
 "C:\\Users\\woclass\\.julia"
 "C:\\Users\\woclass\\AppData\\Local\\Julia-1.3.0\\local\\share\\julia"
 "C:\\Users\\woclass\\AppData\\Local\\Julia-1.3.0\\share\\julia"

找到一个类似的问题

看起来可能是有 bug,可以通过本地 git clone 绕过。

你装过 git 吗?在julia 中输入 ;git --version 可以查看git的版本,如果有输出就可以用。

下载这个。我把依赖配好了。

https://www.lanzous.com/i9di3kd

解压到类似 H:\SARSOP.jl (路径不同下面的命令记得换)
julia 里运行: ] add H:\SARSOP.jl

应该是秒装

ERROR: Error when installing package POMDPXFiles:
HTTP.ExceptionRequest.StatusError(404, HTTP.Messages.Response:
“”"
HTTP/1.1 404 Not Found
Server: openresty/1.15.8.2
Date: Sat, 15 Feb 2020 08:33:17 GMT
Content-Type: text/html
Content-Length: 159
Connection: keep-alive

""")

还有报错,我刚刚把git下了但是我不怎么会用。。

你装其他的包没问题,这些 404 的包基本都没注册,他们是自己弄了个注册树。

可能是他们搞得这个 POMDPs.add_registry() 兼容性不行。
或者还是网有问题。

先排除网络问题, git(julia 自带一个 libgit)走代理需要手工设置 HTTP 代理。
不知道你用的啥代理,基本就 socks5 或者 http(s)

以下是两个脚本,一个设置 sock5 代理,一个取消代理。
把他们另存为对应的文件名,双击就能用。
你自己改改 ip 端口,基本就我写的那种,或者是 http://127.0.0.1:1080

set-git-proxy.cmd

git config --global https.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

unset-git-proxy.cmd

git config --global --unset http.proxy
git config --global --unset https.proxy

看看是不是还是 404.


如果依旧有问题,换julia 版本到目前的稳定版 v1.3.1。