【问题标题】:R/ RStudio - system path issueR / RStudio - 系统路径问题
【发布时间】:2017-06-16 00:07:38
【问题描述】:

我认为我对系统路径造成了一些损坏,现在我无法在 RStudio 中编织。我有最新版本的 R 和 RStudio。

这是我正在使用的东西

Sys.getenv()

输出:

__CF_USER_TEXT_ENCODING        0x20C97408:0x0:0x0
Apple_PubSub_Socket_Render     /private/tmp/com.apple.launchd.g6i2lhsTBr/Render
DISPLAY                        :0
DYLD_FALLBACK_LIBRARY_PATH     /Library/Frameworks/R.framework/Resources/lib:/Users/lewa8222/lib:/usr/local/lib:/usr/lib::
EDITOR                         vi
GIT_ASKPASS                    rpostback-askpass
HOME                           /Users/lewa8222
LANG                           en_US.UTF-8
LC_CTYPE                       en_US.UTF-8
LN_S                           ln -s
LOGNAME                        lewa8222
MAKE                           make
PAGER                          /usr/bin/less
PATH                           :/Users/lewa8222/anaconda/bin/python/:/Users/lewa8222/anaconda/bin/python/:/Users/lewa8222/anaconda/bin/python:/Users/lewa8222/anaconda/bin/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin
R_BROWSER                      /usr/bin/open
R_BZIPCMD                      /usr/bin/bzip2
R_DOC_DIR                      /Library/Frameworks/R.framework/Resources/doc
R_GZIPCMD                      /usr/bin/gzip
R_HOME                         /Library/Frameworks/R.framework/Resources
R_INCLUDE_DIR                  /Library/Frameworks/R.framework/Resources/include
R_LIBS_SITE                    
R_LIBS_USER                    ~/Library/R/3.3/library
R_PAPERSIZE                    a4
R_PDFVIEWER                    /usr/bin/open
R_PLATFORM                     x86_64-apple-darwin13.4.0
R_PRINTCMD                     lpr
R_QPDF                         /Library/Frameworks/R.framework/Resources/bin/qpdf
R_RD4PDF                       times,inconsolata,hyper
R_SESSION_TMPDIR               /var/folders/43/4q82487d5xsfpxdx6nl_c1wmhckx08/T//RtmpXOclp9
R_SHARE_DIR                    /Library/Frameworks/R.framework/Resources/share
R_SYSTEM_ABI                   osx,gcc,gxx,gfortran,?
R_TEXI2DVICMD                  /usr/local/bin/texi2dvi
R_UNZIPCMD                     /usr/bin/unzip
R_ZIPCMD                       /usr/bin/zip
RMARKDOWN_MATHJAX_PATH         /Applications/RStudio.app/Contents/Resources/resources/mathjax-26
RS_RPOSTBACK_PATH              /Applications/RStudio.app/Contents/MacOS/rpostback
RS_SHARED_SECRET               0255dad0-e77a-4d8c-bba9-0dc9e68fa0ff
RSTUDIO                        1
RSTUDIO_PANDOC                 /Applications/RStudio.app/Contents/MacOS/pandoc
RSTUDIO_SESSION_PORT           23768
RSTUDIO_USER_IDENTITY          lewa8222
RSTUDIO_WINUTILS               bin/winutils
SED                            /usr/bin/sed
SHELL                          /bin/bash
SSH_AUTH_SOCK                  /private/tmp/com.apple.launchd.X0TdgERzV2/Listeners
TAR                            /usr/bin/tar
TMPDIR                         /var/folders/43/4q82487d5xsfpxdx6nl_c1wmhckx08/T/
USER                           lewa8222
XPC_FLAGS                      0x0
XPC_SERVICE_NAME               0

注意路径

Sys.getenv("PATH")

我试图将我的蟒蛇版本的 python 链接为 RStudio / RMarkdown 中的主要 python 内核。

为此我使用了

Sys.setenv(PATH = paste("/Users/lewa8222/anaconda/bin/python/", Sys.getenv("PATH"), sep=":"))

不知道每次我认为它附加到我的路径。

现在,当我尝试使用 rstudio 中的 knit 按钮编织文件时,失败如下:

Error: 1:11: unexpected '/'
1: .libPaths(/
              ^
Execution halted

知道如何解决这个 knitr 错误吗?

我在堆栈溢出和 Rstudio 帮助上花了很多时间,但似乎找不到有效的解决方案。 谢谢 莉亚

更新!感谢@carsonfarmer 的以下回答

我不得不

  1. 找到我的 .Rprofile 文件。这位于我的 MAC 上的主用户目录中。
  2. 然后我用 atom 打开它(使用你喜欢的任何文本编辑器,但我做到了 atom .Rprofile 在我的文件所在的用户目录中。

当我打开它时,我注意到文件中的文本是这样的:

.libPaths(/Users/lewa8222/anaconda/bin/python)

@kevinushey 下面的评论是正常的——我只是不明白 libPaths 是什么意思,我知道我有一个文件在某处调用它。

.libPaths - 注意路径周围没有引号。每次我加载 R 时,我都会收到此错误,但我没有注意到它。

我把路径改成了:

.libPaths("/Users/lewa8222/anaconda/bin/python")

魔法发生了。错误消失了。 我希望这对其他人有所帮助,并感谢所有帮助我解决此问题的人!

【问题讨论】:

  • 这个错误是一个普通的 R 解析错误——你有一个 .libPaths() 调用与意外的 / 吗?
  • @KevinUshey 我没有 libsPath() 调用 - 当我尝试编写基本 rmd 文档时会发生这种情况 - rstudio 创建的模板文件
  • 您是否在命令行中使用knit() 收到此错误?
  • @Spacedman 我没有 - 只有在 r studio 中使用 knit BUTTON 时才这样做。真的很奇怪。

标签: r rstudio knitr r-markdown


【解决方案1】:

听起来@kevin-ushey 走在了正确的轨道上:因为每次编织文档时 knitr 基本上都在运行一个新的 R 实例,所以它每次都在加载你的 .RProfile(假设你的用户目录),我怀疑您的.RProfile 有冒犯.libPaths(/ 的电话。尝试编辑您的.RProfile 文件...看起来您需要做的就是将其中的任何有问题的路径用引号括起来:)

R 终端运行以下命令应该会告诉您用户.RProfile 在哪里:file.path(Sys.getenv("HOME"), ".Rprofile")

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2013-07-16
    • 2020-11-05
    相关资源
    最近更新 更多