r - ubuntu上离线安装R catboost包
问题描述
我正在研究 Azure 数据块,它的计算服务器是 Ubuntu 18.04。由于安全原因,我想安装catboost R 包但无法访问互联网。我在可以访问 Internet 的 MacBook 上下载了 catboost 的 github 存储库,并将其压缩以将其上传到 Azure 进行手动安装。我执行了以下步骤:
在catboost 安装说明中,是必需的,因此我通过从此链接下载并上传到 ubuntu 并执行以下 bash 命令以使其可用,
libc6-dev
从而重新安装了build-essential :sudo dpkg -i /dbfs/FileStore/tables/build_essential_12_4ubuntu1_amd64.deb
使用我的 Macbook(有互联网),我从这里克隆了 github repo并使用 MacOS Terminal 压缩:
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", 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 包)?感谢您阅读我的问题。
解决方案
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!
推荐阅读
- java - 通过拆分字符串创建 JSON?
- webgl - WebGL:INVALID_OPERATION:texSubImage2D:没有绑定 PIXEL_UNPACK_BUFFER
- reactive-programming - 具有可变计数的 Rx 缓冲
- windows - ipython-“无法从'prompt_toolkit.shortcuts'导入名称'create_prompt_application'
- excel - 过滤后如何查找范围内的行数
- python - 如何在随机列表中查找连续元素的列表,其中结果列表的数字不应大于给定数字
- mysql - Kafka 连接 MySQL 到 ES
- java - Eclipse Marketplace - UML 设计器 - 安装错误
- java - 原因:java.io.IOException: CreateProcess error=2, 系统找不到指定的文件
- javascript - 反应获取的数据未按预期呈现