Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
299 views
in Technique[技术] by (71.8m points)

r - Error when installing rpy2 module in Python with easy_install

I've been trying to install the rpy2 module so I can use R functions inside my Python script, but I'm getting an error after following the advice from these pages:

1) Tried to guess R's HOME but no R command in the PATH. OsX 10.6

2) http://rpy.sourceforge.net/rpy2/doc-dev/html/overview.html


What I've done so far:

1) Edited my path environment variable to include "C:Program FilesRR-3.1.0inx64;"

2) Created a new environment variable called "R_HOME" and set its value to "C:Program FilesRR-3.1.0"

3) Created a new environment variable called "R_USER" and set its value to "Hefin" (my windows username)

Then in my command prompt I type:

easy_install rpy2

As far as I'm aware, easy_install is setup and installed correctly.

The output I get is:

Searching for rpy2
Reading https://pypi.python.org/simple/rpy2/
Best match: rpy2 2.5.5
Downloading https://pypi.python.org/packages/source/r/rpy2/rpy2-2.5.5.tar.gz#md5=c874bebbe775e3cdc926a1da00252c37
Processing rpy2-2.5.5.tar.gz
Writing C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.cfg
Running rpy2-2.5.5setup.py -q bdist_egg --dist-dir C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5egg-dist-tmp-00qpf_z8
The system cannot find the path specified.
Traceback (most recent call last):
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 150, in save_modules
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 191, in setup_context
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 235, in run_setup
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 265, in run

  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 234, in runner
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 46, in _execfile
  File "C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.py", line 282, in <module>
  File "C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.py", line 185, in getRinterface_ext
  File "C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.py", line 106, in version
  File "C:Python34libsubprocess.py", line 620, in check_output
    raise CalledProcessError(retcode, process.args, output=output)
subprocess.CalledProcessError: Command '('C:\PROGRA~1\R\R-31~1.0\bin\R', '--version')' returned non-zero exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:Python34Scriptseasy_install-script.py", line 9, in <module>
    load_entry_point('setuptools==12.0.5', 'console_scripts', 'easy_install')()
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 2244, in main
  File "C:Python34libdistutilscore.py", line 148, in setup
    dist.run_commands()
  File "C:Python34libdistutilsdist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:Python34libdistutilsdist.py", line 974, in run_command
    cmd_obj.run()
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 374, in run
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 623, in easy_install
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 653, in install_item
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 838, in install_eggs
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 1066, in build_and_install
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscommandeasy_install.py", line 1052, in run_setup
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 238, in run_setup
  File "C:Python34libcontextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 191, in setup_context
  File "C:Python34libcontextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 162, in save_modules
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 137, in resume
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolscompat.py", line 65, in reraise
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 150, in save_modules
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 191, in setup_context
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 235, in run_setup
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 265, in run
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 234, in runner
  File "C:Python34libsite-packagessetuptools-12.0.5-py3.4.eggsetuptoolssandbox.py", line 46, in _execfile
  File "C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.py", line 282, in <module>
  File "C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.py", line 185, in getRinterface_ext
  File "C:UsersHefinAppDataLocalTempeasy_install-98mu0_xn
py2-2.5.5setup.py", line 106, in version
  File "C:Python34libsubprocess.py", line 620, in check_output
    raise CalledProcessError(retcode, process.args, output=output)
subprocess.CalledProcessError: Command '('C:\PROGRA~1\R\R-31~1.0\bin\R', '--version')' returned non-zero exit status 1

C:UsersHefin>

Sorry it's so verbose! If I then invoke python and try to import the rpy module, I get:

>>> import python
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'python'
>>>

I'm afraid I'm new to Python and I don't know what I'm doing wrong. I've searched through previous forum posts, but none seem to have this problem. I'm using a 64bit machine with Windows 7, Python3.4 and R3.1.0.

Any help or thoughts would be much appreciated as I'm sure it's just something simple I'm doing wrong.

Thank you!

Hefin

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There's a much easier way to go about this - install rpy2 from Christoph Gohlke's Python Extension Packages for Windows repository here. Download the rpy2?2.5.5?cp34?none?win_amd64.whl file (the current version at the time of this writing), change to the download folder on the command line, and run

pip install rpy2?2.5.5?cp34?none?win_amd64.whl

pip is already included in Python 3.4, and should be used instead of easy_install when installing new modules, as easy_install is deprecated.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...