【发布时间】:2014-08-19 12:07:41
【问题描述】:
我在 OSX 10.9.4 附带的 2.7.5 旁边安装了 python 2.7.8。
现在我如何将rPython 指向 python 2.7.8?
尝试 #1
我已将 OSX .bash_profile 修改如下,以将所有内容指向较新的 python 安装。
export PATH=/usr/local/Cellar/python/2.7.8/bin/:$PATH:usr/local/bin:
现在当我从终端运行 python 时,它可以正确运行新版本
mba:~ tommy$ which python
/usr/local/Cellar/python/2.7.8/bin//python
但是,rPython 仍然看到 2.7.5。
> library(rPython)
Loading required package: RJSONIO
> python.exec("import sys; print(sys.version)")
2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
尝试 #2
看起来.bash_profile 根本没有被 R 使用...所以我尝试在 R 中修改 PATH。但仍然没有运气。
> Sys.getenv("PATH")
[1] "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
> Sys.setenv(PATH = "usr/local/Cellar/python/2.7.8/bin")
> library(rPython)
Loading required package: RJSONIO
> python.exec("import sys; print(sys.version)")
2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
尝试 #3
我尝试删除并重新安装 rPython 包,认为它可能使用的是安装时找到的 Python 版本。也没有运气。
尝试 #4
我已经尝试从源代码安装,看看是否有任何作用...没有运气。
更新
好吧,看来问题与 rPython 本身无关。
http://cran.r-project.org/web/packages/rPython/INSTALL
包 rPython 依赖于 Python (>= 2.7)。
它需要 Python 及其头文件和库。这些可以 在类 Debian 的 Linux 中的 python 和 python-dev 包中找到 分布。
在多个 Python 版本并存的系统中,用户可以选择 安装时使用的 Python 版本。默认情况下, 包将使用提供的 Python 版本安装
$ python --version
当我在终端中运行它时..
mba:src tommy$ python --version
Python 2.7.8
但是当我在 R 中运行它时...
> system("python --version")
Python 2.7.5
所以问题只是 R 不使用 OSX 的.bash_profile。我需要弄清楚如何在.bash_profile 之外更改PATH,或者让R 使用.bash_profile。
我还能尝试什么让rPython 与2.7.8 一起工作?
【问题讨论】:
-
替换整个 PATH 真是个坏主意。通常扩展现有的 PATH。 (众所周知,bash-PATH 变量与 R 看到的不同。