2016-05-10 7 views
6

私はPython subprocess.popenから外部実行可能ファイル(Rscript.exeR portableの一部として呼び出す)を呼び出します。Pythonのポップンを使った奇妙なビット問題

  • 32ビットのPythonから呼び出されます。

  • 64ビットのPythonから呼び出されたRは、さまざまなパッケージを見つけることができないと言っているので、何かが異なります。

これは、Pythonの問題で、Rの問題、あるいはその両方かもしれない

Rscript.exeへのパスは、プログラムファイルではありません)起こって任意のファイルシステムのリダイレクトがあるべきではありません。なぜpopenを呼び出したプロセスのビット数に応じて動作が異なるのですか?私は64ビットのPythonからRscriptの観点から32ビットの呼び出しのように見えるように強制することはできますか?

+4

コードとエラーメッセージを投稿してください。 – wholevinski

+1

これは窓にありますか?なぜR64を使用しないのですか? – rll

+4

PATH、現在のディレクトリ、および2つのピトンからの呼び出しのライブラリパスを確認してください。 – mdurant

答えて

0

サブプログラムまたはスレッドに対してsubprocess.Popenクラスを使用すると、シェルまたはコマンドプロンプトに対してパイプを作成し、サブプロセスのオブジェクトに引数を渡すことができます.Popenクラスは文字列の形式で指定します。そのコマンドはシェルで実行され、実行されます。 エラーが出るのは、Pythonの問題でもRの問題でもありません。 環境変数とシステムパスに問題があります。 Rの環境パスを保存していない可能性があります。実行するためにRscript.exeを取得できません。 そして、実行のためにフォルダ/ファイルを検索するために直接利用できるファイル/ディレクトリリダイレクトシステムはありません。

Rのシステムパス変数を設定してください。問題が解決されるはずです。