#引数RCMDに値を渡すとpyper.Rにエラーがでる、、、?
python3だと、インタープリタで以下に打つとインスタンスが作成されますが、(ただしRへのパスを通している場合)
>>> import pyper
>>> r = pyper.R()
以下のようにRへのパスを記入するとエラーがでました。
>>> import pyper
>>> r = pyper.R(RCMD ="Rの場所")
別にパス通さなくても実行できるし、放置で良いかと思ってました。
##引数RCMDにパスを渡さないと、関数内で使えない、、、
困りました。python初心者なため、原因が何なのか検討がつかないため、とりあえず、入門python3を読みなおしました。
関数の作り方をいろいろ試したけど、うまくいかない、、、さて困った。
###エラーを見直そう。そうしよう。
自分の無知はさておいて、エラーと向き合うことにしました。
childstderr = file('nul', 'a')
どうやら、pyper.pyのここが悪さをしているようです。なにがいけないんでしょうか。
###途方にくれている最中、神様が耳元でふっと囁いた
関数fileってpython3では使えないんだぜ、、、、
まさかね、fileをopenに組み替えればいいなんてあるわけないよね。そんな簡単な話じゃないよね。
半信半疑でしたが、
childstderr = open('nul', 'a')
に書きなおしましたよ。ええ、ちゃんと動くようになりましたよ。パチパチパチ。
#結論
エラーを解決するには、エラーを理解するしかないんですね。当たり前ですね。
でも、pythonの勉強になりました。あーでもない、こーでもないと考えていると、自分の理解が足りていないところが
明確になったり、遠回りも悪くありません。