rPython在Mac OSX上使用错误的python安装

Tom*_*ell 6 r rpython

我已经在OSX 10.9.4附带的2.7.5旁边安装了python 2.7.8.

现在我怎么能指向rPythonpython 2.7.8?

尝试#1

我已.bash_profile按如下方式修改了OSX ,以指向更新的python安装.

export PATH=/usr/local/Cellar/python/2.7.8/bin/:$PATH:usr/local/bin:
Run Code Online (Sandbox Code Playgroud)

现在,当我从终端运行python时,它正确运行较新的版本

mba:~ tommy$ which python
/usr/local/Cellar/python/2.7.8/bin//python
Run Code Online (Sandbox Code Playgroud)

但是,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)]
Run Code Online (Sandbox Code Playgroud)

尝试#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)]
Run Code Online (Sandbox Code Playgroud)

尝试#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
Run Code Online (Sandbox Code Playgroud)

但是当我在R中运行它...

> system("python --version")
Python 2.7.5
Run Code Online (Sandbox Code Playgroud)

所以问题只是R不使用OSX .bash_profile.我需要弄清楚如何在PATH外面改变.bash_profile,或者让R使用.bash_profile.

还有什么我可以尝试rPython使用2.7.8?

mad*_*ant 5

我在RStudio中设置了以下命令,希望这些帮助.

> system("python --version")
Python 2.7.10

> Sys.setenv(PATH = paste("/usr/local/bin", Sys.getenv("PATH"),sep=":"))

> system("python --version")
Python 2.7.11
Run Code Online (Sandbox Code Playgroud)


dat*_*com 1

您可以查看 rPython INSTALL 文件(抱歉,也许我应该让它更明确)。其中有一节介绍了当多个 Python 版本共存时如何使用所需的 Python 版本安装 rPython。它说:

在多个Python版本共存的系统中,用户可以在安装时选择要使用的Python版本。默认情况下,将使用以下给出的 Python 版本安装该包

$ python --version
Run Code Online (Sandbox Code Playgroud)

但如果正确设置了 RPYTHON_PYTHON_VERSION 环境变量,则可以选择不同的版本。

例如,如果它被定义为

 RPYTHON_PYTHON_VERSION=3.2
Run Code Online (Sandbox Code Playgroud)

它将尝试使用Python 3.2(在路径中查找python3.2和python3.2-config)。如果设置为

 RPYTHON_PYTHON_VERSION=3
Run Code Online (Sandbox Code Playgroud)

它将针对系统中 3.x 分支内的“规范”Python 版本进行安装。