我一直在尝试从Sagemaker Jupyter Notebook实例建立到Teradata的连接。我试着用R Studio的方式来做这件事。但是当我试图在实例中安装包时,我得到了一个非零的退出状态错误。
我已经尝试了以下安装方式:
remotes::install_github() 或
devtools::install_github()还有:
install.packages('odbc', repo="https://cran.rstudio.com/")我对RODBC进行了同样的尝试,得到了同样的警告或错误。
关于如何解决这个问题,有什么建议吗?
提前谢谢。
更新:如果我运行这行代码:
devtools::install_github("r-dbi/odbc")`我得到以下错误(这只是一个摘录):
Error: Failed to install 'odbc' from GitHub:
System command error, exit status: 1, stdout + stderr (last 10 lines):
E> ** testing if installed package can be loaded from temporary location
E> Error: package or namespace load failed for ‘odbc’ in dyn.load(file, DLLpath = DLLpath, ...):
E> unable to load shared object '/tmp/RtmpBuMhbW/Rinst32846cdd20a9/00LOCK-odbc/00new/odbc/libs/odbc.so':
E> libodbc.so.2: cannot open shared object file: No such file or directory
E> Error: loading failed
E> Execution halted
E> ERROR: loading failed
E> * removing ‘/tmp/RtmpBuMhbW/Rinst32846cdd20a9/odbc’
E> -----------------------------------
E> ERROR: package installation failed
Traceback:发布于 2020-01-30 10:28:30
好吧,在阅读了几个小时的AWS/Sagemaker/Conda/R文档后,我得出了这样的结论:我不知道如何解释这些现象。
尽管如此,我还是找到了一个变通办法!
因此,我们知道如何通过Jupyter终端或直接从.ipynb文件中的单元安装包。尽管如此,如果您尝试在R内核中运行这些命令,就像在终端上或在Python内核中一样,您将会遇到错误。
此外,对于某些人来说,将其安装在终端上,甚至安装在Python内核上,可能只会让conda在不同的环境中安装该软件包。是的,原来您的Jupyter实例上有几个环境。
因此,正如我所说的,为了达到目的,您应该使用conda install命令,而不是pip、sudo或yum命令。
让你的生活更轻松。下面是你需要在你的R内核单元上运行的代码,如果,install.packages()和install_github()不工作,你需要直接将一个包安装到正确的环境中:
system(command = 'conda install -c r packageName --yes')示例:
system(command = 'conda install -c r tidyverse --yes')就是这样。在此之后,您可以调用library()并恢复您的R工作流。
希望这对大家有帮助!
https://stackoverflow.com/questions/59940350
复制相似问题