在 Julia 的 Jupyter Notebook 上从 GitHub 下载文件时出现 Failed proccess 错误

Posted

技术标签:

【中文标题】在 Julia 的 Jupyter Notebook 上从 GitHub 下载文件时出现 Failed proccess 错误【英文标题】:Failed proccess error when downloading file from GitHub on Jupyter Notebook in Julia 【发布时间】:2019-06-21 10:17:45 【问题描述】:

我正在尝试使用 Jupyter Notebook 中的 Julia 从 GitHub 下载文件:

isfile("housing.data") ||
  download("https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data",
           "housing.data")
rawdata = readdlm("housing.data")'

我有 Windows 和 Julia v1.1.1 版本。我收到一条对我没有任何意义的错误消息:

failed process: Process(`'C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe' -Version 3 -NoProfile -Command "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; (New-Object System.Net.Webclient).DownloadFile('https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data', 'housing.data')"`, ProcessExited(3221225477)) [3221225477]

Stacktrace:
 [1] error(::String, ::Base.Process, ::String, ::Int64, ::String) at .\error.jl:42
 [2] pipeline_error at .\process.jl:785 [inlined]
 [3] download(::String, ::String) at .\download.jl:20
 [4] top-level scope at In[3]:1

我尝试用谷歌搜索该消息,但它太长了,找不到任何东西,我没有找到任何有此类问题的相关主题。这个错误的原因可能是什么?我需要向您提供一些其他信息吗?

【问题讨论】:

命令本身在我的机器上运行正常。您能否检查一下您是否在管理级别上没有问题(例如:互联网访问限制、目录读/写限制等)。也许尝试在另一台机器上运行此代码。 重新安装 Julia 似乎可以解决问题。 你用的是哪个windows版本? 【参考方案1】:

Base.download 依赖于系统命令的可用性和配置。特别是其文档内容如下:

"此功能依赖于 curl、wget 或 fetch 等外部工具的可用性来下载文件并提供方便。对于生产使用或需要更多选项的情况,请使用提供所需的包代替功能。”

遵循此建议,您应该这样做:

using Pkg
Pkg.add("HTTP")
using HTTP
HTTP.download("https://raw.githubusercontent.com/MikeInnes/notebooks/master/housing.data", "housing.data")

通过这种方式,您可以使用纯 Julia 来下载文件,而不是使用各种系统工具,并保持跨平台代码的同质行为。

【讨论】:

以上是关于在 Julia 的 Jupyter Notebook 上从 GitHub 下载文件时出现 Failed proccess 错误的主要内容,如果未能解决你的问题,请参考以下文章

为 Jupyter 笔记本调整 Julia 内核中的绘图大小

R和Julia内核在Jupyter笔记本中不可用

Debain install Jupyter

如何从Jupyter中删除以前的版本?

远程jupyter+pycharm配置之jupyter notebook切换虚拟环境

运筹系列70:julia的交互界面