首页 > 解决方案 > ubuntu上离线安装R catboost包

问题描述

我正在研究 Azure 数据块,它的计算服务器是 Ubuntu 18.04。由于安全原因,我想安装catboost R 包无法访问互联网。我在可以访问 Internet 的 MacBook 上下载了 catboost 的 github 存储库,并将其压缩以将其上传到 Azure 进行手动安装。我执行了以下步骤:

  1. catboost 安装说明中,是必需的,因此我通过从此链接下载上传到 ubuntu 并执行以下 bash 命令以使其可用,libc6-dev 从而重新安装了build-essential :sudo dpkg -i /dbfs/FileStore/tables/build_essential_12_4ubuntu1_amd64.deb

  2. 使用我的 Macbook(有互联网),我从这里克隆了 github repo并使用 MacOS Terminal 压缩:tar czf catboost.tar.gz catboost

  3. 我将 catboost.tar.gz 上传到 Azure 并在 ubuntu 中可用

  4. 我在 ubuntu 上解压缩并使用以下命令执行构建:R CMD build /home/catboost_tmp/catboost

  5. 构建命令后,我成功获得了一个 zip 文件:catboost_0.26.tar.gz。我在 R 中执行了以下命令来安装 catboost:

    install.packages("catboost_0.26.tar.gz", lib = "/databricks/spark/R/lib", type = "source", repos = NULL, verbose = 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, dest_fpath, 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 命令 ( )创建了一个新的环境变量CATBOOST_DYNLIBecho "CATBOOST_DYNLIB=/dbfs/FileStore/tables/catboost_pkg/" >> /etc/environment并从这里下载了 libcatboostr-linux.so 。但我得到同样的错误信息!

这里有没有经验的开发人员可以帮助我在不访问互联网的情况下安装 catboost(R 包)?感谢您阅读我的问题。

标签: rubuntucatboost

解决方案


I solved it on my own and here is the solution for others facing similar issues. I was doing it correctly by creating an environment variable CATBOOST_DYNLIB but the path should be complete including the file name libcatboostr-linux.so . I was only using path to the directory including this file!


推荐阅读