8

rpy2 パッケージをインストールしようとしていますが、両方で次のエラーが発生します

C:\python27>easy_install rpy2

Searching for rpy2
Reading http://pypi.python.org/simple/rpy2/
Reading http://rpy.sourceforge.net
Best match: rpy2 2.3.3
Downloading http://pypi.python.org/packages/source/r/rpy2/rpy2-2.3.3.tar.gz#md5=6cd95eb70645577cb53198ef0a32395e
Processing rpy2-2.3.3.tar.gz
Running rpy2-2.3.3\setup.py -q bdist_egg --dist-dir c:\users\chetan~1\appdata\local\temp\easy_install-wfxip9\rpy2-2.3.3\egg-di
st-tmp-rrezfb
"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags
Invalid substring

in string

C:\Python27\lib\site-packages\setuptools\command\easy_install.py:921: RuntimeWarning: tp_compare didn't return -1 or -2 for ex
ception
  raise DistutilsError("Setup script exited with %s" % (v.args[0],))
error: Setup script exited with Problem while running `"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags`

そして、pipを試すと、これが得られます

c:\Python27\Lib\site-packages\django\bin>pip install rpy2

rpy2 のダウンロード/解凍 パッケージ rpy2 の setup.py egg_info の実行

"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags
Invalid substring

in string

Problem while running `"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags`
4

3 に答える 3

1

私もこれに数日を費やしました...その後、リンクが提供されているこのスレッドに出くわしました: http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2

このページでは、(他の便利なものの中でも) Windows 用および異なるバージョンの Python 用のコンパイル済みバージョンの rpy2 を見つけることができます。R 2.15.3 でしか動作しないようです。他のバージョンでは試していません。

于 2013-08-08T16:28:21.427 に答える
0

最近、これをソースからビルドする必要がありました。rpy2-2.2.2 バージョンを取得したので、Oracle Linux で Python 2.6.6 を使用できます。

これを機能させるための解決策は、setup.py スクリプトのいくつかを修正することでした。

まず、get_rconfig() が空の文字列を許可できるようにします。これにフラグを付ける方法があった場合、それは私には明らかではありませんでした:

    config = RConfig()
    for about in ('--ldflags', '--cppflags',
                  'LAPACK_LIBS', 'BLAS_LIBS'):
        #config += get_rconfig(r_home, about)
        config += get_rconfig(r_home, about, allow_empty = True)

次に、存在しない変数を参照していた RConfig.from_string のドロップスルーのバグを修正します。

            elif rconfig_m is None:
                if allow_empty:
                #if allow_empty and (rconfig == ''):
                    print(cmd + '\nreturned an empty string.\n')

これにより、R CMD 構成ループが解析され、空のケース (R ビルドが共有ライブラリとしてビルドされていない場合におそらく遭遇する) が可能になり、サイクルを完了することができます。

python setup.py ビルド インストール

于 2014-06-08T19:41:48.100 に答える