2017-02-07 8 views
-1

現在、私はPythonモジュールをFlaskにインポートする方法を理解しています。例えば、 'myfunctions'モジュールがインポートされ、そこから関数が呼び出されています。FlaskへのRのPlotlyのインポート

from flask import Flask, render_template, request 
from myfunctions import printtext 
app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return render_template('echo.html') 

しかし、Plotly for Rコマンドで書かれたRスクリプトをどのようにインポートすることができますか?それは同じ原則で行われるのだろうか、「Pythonic」でないものを輸入することはできないだろうか?代わりに、私たちのウェブアプリケーションから何らかの形でそれにデータをエクスポートする必要がありますか?

+0

通常、他の言語にはどの言語もインポートできません。 – davidism

答えて

0

いいえ、RコードをPythonモジュールとしてインポートすることはできません。しかし、RスクリプトをPythonに織り込む方法があります。

1)2つの異なるスクリプトを実行するには、bashを使用します。

これは、異なる言語で記述されたスクリプトを統合する非常に一般的な方法です:

#! /usr/bin/bash 
python mypythonscript.py > data.txt 
Rscript myrscript.r -i data.txt -o final_results.txt 
echo "All Done!" 

2)これを行うにはカップルの方法がありますPythonの

からRスクリプトを呼び出し、最初os.systemである:

import os 
print('Do things in python here') 
# Now call the R script 
os.system('Rscript myrscript.r') 

またはでモジュール:私はこのパッケージで多くの経験を持っていないので、私はちょうどこのためにドキュメントにあなたを指しますrpy

とPythonコードで直接

import subprocess 
print('Do things in python here') 
# Now open a subprocess 
p = subprocess.Popen(['Rscript', 'myrscript.r'], stdout=subprocess.PIPE) 
p.wait() 
data = p.stdout.read() 
print(data) 

3)埋め込みRコード1つ:https://rpy2.bitbucket.io/

関連する問題