簡體   English   中英

你可以通過R - Reticulate安裝Python包

[英]Can you install a Python package via R - Reticulate

我將在R中使用Reticulate包創建一個python接口。 為了訪問R中的python函數,需要安裝相應的python包。

我想到了兩個問題:

1)如果使用網狀包裝,是否需要安裝Anaconda包裝? 或者只安裝python包就足夠了嗎?

2)是否可以在R中安裝python包,類似於install.packages(“r_package”)?

有沒有人有這個主題的經驗? 提前致謝!

1)R包reticulate可以使用默認的python或Anaconda2Anaconda3 如果你想讓Anaconda與R合作,你必須先安裝Anaconda。 安裝完成后,調用library(reticulate) ,然后運行py_config()reticulate::py_discover_config() ,它將為您提供Python安裝使用的路徑和環境列表。 然后,一旦你知道了Python路徑,你就可以在library(reticulate)之后添加像這樣的use_python("/opt/miniconda2/bin/python") ,並且你正在開展業務。

2)安裝Python包以便R(或網狀)可以看到它們,你必須從終端或控制台安裝它們作為常規的Python包; 不是R.例如: conda install numpy安裝numpy,或者conda install scipy install scipy安裝scipy,依此類推。

我只是在Docker容器rocker/rstudio做這rocker/rstudio 在標准操作系統中應該更容易。

這是一步一步的說明: rstudio網狀

干杯!

我會在上一個答案中添加一些細微差別。

就像@ f0nzie所說,Anaconda不是包,而是包經理 理想情況下,您將使用Anaconda創建一個環境來協助您的包管理和版本控制。 conda環境的文檔就在這里

現在,您可以將python包安裝到R中的anaconda包中。可以使用reticulate::conda_install(envname, packages) 可以在此處找到conda_install()的文檔。

如果您需要特定版本的Python模塊,請在模塊名稱后面放置== ,例如,以下將使用pip安裝3個模塊的特定版本:

reticulate::conda_install(c("PyMuPDF==1.14.20", "PyPDF2==1.26.0", "reportlab==3.5.23"),
                            envname = "myenv", pip = TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM