精華區beta R_Language 關於我們 聯絡資訊
- 問題: 能否用Python打包R, 最後做成單獨執行的exe? [問題類型]: 經驗諮詢(我想用R 連接某些資料庫,請問大家的經驗) 開發者(有撰寫R 的套件經驗) [問題敘述]: 我主要是用R,剛自學python沒多久。 最近有案主要我提供可執行的程式,(本來是幫他們算完就好, 但現在要程式)。 因為不想直接給原始程式碼,且他們同意做成exe. 想請問能否用Python做成執行檔, 但實際上裡面全部是在做R的運算? 因為有引用幾個重要的package是R寫的,所以也不能直接換成python來算。 ps: 請問這樣我引用的package也要每次都呼叫嗎? 要是他們換電腦不就還要重新裝那隻package? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.98.79 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1569430125.A.864.html
andrew43: 最簡單shiny。要保密就是主機歸你管。 09/26 07:48
andrew43: 可以再配合r_portable 09/26 07:51
> -------------------------------------------------------------------------- < 作者: celestialgod (天) 看板: R_Language 標題: Re: [問題] 用Python呼叫R, 再包成exe檔? 時間: Thu Sep 26 23:22:40 2019 ※ 引述《Edster (Edster)》之銘言: : - 問題: : 能否用Python打包R, 最後做成單獨執行的exe? : [問題類型]: : 經驗諮詢(我想用R 連接某些資料庫,請問大家的經驗) : 開發者(有撰寫R 的套件經驗) : [問題敘述]: : 我主要是用R,剛自學python沒多久。 : 最近有案主要我提供可執行的程式,(本來是幫他們算完就好, 但現在要程式)。 : 因為不想直接給原始程式碼,且他們同意做成exe. : 想請問能否用Python做成執行檔, 但實際上裡面全部是在做R的運算? : 因為有引用幾個重要的package是R寫的,所以也不能直接換成python來算。 : ps: 請問這樣我引用的package也要每次都呼叫嗎? : 要是他們換電腦不就還要重新裝那隻package? 這問題我也被問過很多次XDDD 這裡先回答你的問題,基本上不行 從Python要編譯成exe,可行沒錯 但是問題R你要怎麼在Python中執行? 就算用rpy2,你也要有R binary,這條路我沒試過 但是看了一下stackoverflow有點困難 https://stackoverflow.com/questions/5850818/has-anyone-used-rpy2-with-py2exe 再來就是,你可以考慮的方式 把R檔案都加密,然後解密邏輯寫在Python裡面 用system命令呼叫捆好的R去執行解密後的script檔案 下面有幾種方式: 1. 開web API給對方,可以用OpenCPU這種solution把R code藏在web後面 2. 同推文,用Shiny 3. 我以前用過的做法是用C#的R.Net,然後把程式碼用C#加密 執行的時候解密R檔案,然後丟進去捆好的R binary裡面 附上github: https://github.com/ChingChuan-Chen/rnet_and_r_portable (沒做加解密,只有直接用C# call R,R code可以編譯在C#裡面) 恩... 以上XD 最後有一個方法沒提到 把邏輯都寫成Rcpp編譯成DLL,然後都只給對方編譯好的Pkg 叫對方去用R執行XD -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.59.166 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1569511363.A.99C.html
cywhale: 推 沒想過Rcpp這招.. 如果用1 opencpu記得apache那也要藏 09/27 09:09
cywhale: 否則opencpu web api可以看code http://bit.ly/2nGQkA7 09/27 09:12
恩 對 要設定瀏覽權限,我想說如果要用,應該會自己去找,我就沒有提了XD ※ 編輯: celestialgod (119.14.59.166 臺灣), 09/27/2019 09:55:17 > -------------------------------------------------------------------------- < 作者: Wush978 (拒看低質媒體) 看板: R_Language 標題: Re: [問題] 用Python呼叫R, 再包成exe檔? 時間: Sun Sep 29 10:45:05 2019 我建議你要先諮詢軟體授權相關律師。 R 的 license 應該是 GPL v2 / v3、你用的R 套件的 license 可能大部分也是。 這種 license 具有感染性,所以你的程式碼可能會被強迫要 GPL v2 / v3。 結果就是你在散布程式碼的時候,必須要開源。 所以R 是商業不太友善的工具。 ※ 引述《Edster (Edster)》之銘言: : - 問題: : 能否用Python打包R, 最後做成單獨執行的exe? : [問題類型]: : 經驗諮詢(我想用R 連接某些資料庫,請問大家的經驗) : 開發者(有撰寫R 的套件經驗) : [問題敘述]: : 我主要是用R,剛自學python沒多久。 : 最近有案主要我提供可執行的程式,(本來是幫他們算完就好, 但現在要程式)。 : 因為不想直接給原始程式碼,且他們同意做成exe. : 想請問能否用Python做成執行檔, 但實際上裡面全部是在做R的運算? : 因為有引用幾個重要的package是R寫的,所以也不能直接換成python來算。 : ps: 請問這樣我引用的package也要每次都呼叫嗎? : 要是他們換電腦不就還要重新裝那隻package? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.207.235 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1569725107.A.11F.html ※ 編輯: Wush978 (111.240.207.235 臺灣), 09/29/2019 10:46:10
andrew43: R應該是 GPL v2。嚴格來說,R都包在一起就要給source了 09/29 21:48