如何解决在ubuntu上离线安装R catboost包
我正在研究 Azure 数据块,它的计算服务器是 Ubuntu 18.04。出于安全原因,我想安装 catboost R package,但无法访问互联网。我在可以访问互联网的 MacBook 上下载了 catboost 的 github 存储库,并将其压缩以将其上传到 Azure 以进行手动安装。我执行了以下步骤:
-
在 catboost installation instructions 上,需要
libc6-dev
,因此我通过从 this 链接下载并上传到 ubuntu 并重新安装了 build-essential执行以下 bash 命令以使其可用:sudo dpkg -i /dbfs/FileStore/tables/build_essential_12_4ubuntu1_amd64.deb
-
使用我的 Macbook(有互联网),我从 here 克隆了 github repo 并使用 MacOS 终端进行了压缩:
tar czf catboost.tar.gz catboost
-
我将 catboost.tar.gz 上传到 Azure 并在 ubuntu 中提供
-
我在 ubuntu 上将其解压缩并使用以下命令执行构建:
R CMD build /home/catboost_tmp/catboost
-
构建命令后,我成功获得了一个 zip 文件:catboost_0.26.tar.gz。我在 R 中执行了以下命令来安装 catboost:
install.packages("catboost_0.26.tar.gz",lib = "/databricks/spark/R/lib",类型 = "来源",回购 = NULL, 详细 = TRUE)
安装导致以下错误:
system (cmd0): /usr/lib/R/bin/R CMD INSTALL
* installing *source* package ‘catboost’ ...
** using staged installation
checking for R_HOME... /usr/lib/R
checking for R... /usr/lib/R/bin/R
checking for local CATBOOST_DYNLIB... no
checking whether we can fetch CatBoost dynlib... downloading CatBoost (libcatboostr.so - v0.26)
trying URL 'https://github.com/catboost/catboost/releases/download/v0.26/libcatboostr-linux.so'
Error in download.file(url,dest_fpath,mode = "wb"): cannot open URL 'https://github.com/catboost/catboost/releases/download/v0.26/libcatboostr-linux.so'
Error: Stopping on error
In addition: Warning message:
In download.file(url,mode = "wb") :
URL 'https://github.com/catboost/catboost/releases/download/v0.26/libcatboostr-linux.so': status was 'Couldn't connect to server'
Execution halted
*** CatBoost dynamic library download failed. stopping.
ERROR: configuration failed for package ‘catboost’
* removing ‘/databricks/spark/R/lib/catboost’
它似乎试图连接到 github 以获取 libcatboostr-linux.so,因此,我使用 bash 命令({{1 }}) 并从 here 下载 libcatboostr-linux.so。但我收到了同样的错误信息!
这里有没有经验的开发人员可以帮助我在不访问互联网的情况下安装 catboost(R 包)?感谢您阅读我的问题。
解决方法
我自己解决了这个问题,这里是其他面临类似问题的解决方案。我通过创建环境变量 CATBOOST_DYNLIB 正确地做到了,但路径应该是完整的,包括文件名 libcatboost-linux.so 。我只使用了包含此文件的目录的路径!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。