Python中是否有像requirements.txt
這樣的功能,您可以在其中存儲用於文件的軟件包列表,並且只要其他人想要運行程序並需要安裝依賴關係,他們就可以執行pip install -r requirements.txt
。有沒有像R的requirements.txt?
我認爲,這在將R腳本部署到生產中時有很大幫助。如果沒有這樣的功能,我該如何複製它?
Python中是否有像requirements.txt
這樣的功能,您可以在其中存儲用於文件的軟件包列表,並且只要其他人想要運行程序並需要安裝依賴關係,他們就可以執行pip install -r requirements.txt
。有沒有像R的requirements.txt?
我認爲,這在將R腳本部署到生產中時有很大幫助。如果沒有這樣的功能,我該如何複製它?
根據註釋,您可能需要考慮構建一個包,並在DESCRIPTION文件中包含需求。如果您正在討論將.R腳本「投入生產」,您可以在開始時添加一個函數,以確保安裝所需的軟件包。以下是我自己的軟件包中的一些內容,我可以在任何腳本的開始處致電pkgLoad(<list of packages>)
以確保軟件包已安裝並加載。我有我最喜歡的包的列表,使得pkgLoad()
安裝和載入我所有通常的嫌疑人的電話:
pkgLoad <- function(packages = "favourites") {
if(length(packages) == 1L && packages == "favourites") {
packages <- c("data.table", "chron", "plyr", "dplyr", "shiny",
"shinyjs", "parallel", "devtools", "doMC", "utils",
"stats", "microbenchmark", "ggplot2", "readxl",
"feather", "googlesheets", "readr", "DT", "knitr",
"rmarkdown", "Rcpp"
)
}
packagecheck <- match(packages, utils::installed.packages()[,1])
packagestoinstall <- packages[ is.na(packagecheck) ]
if(length(packagestoinstall) > 0L) {
utils::install.packages(packagestoinstall,
repos = "http://cran.csiro.au"
)
} else {
print("All requested packages already installed")
}
for(package in packages) {
suppressPackageStartupMessages(
library(package, character.only = TRUE, quietly = TRUE)
)
}
}
注意我已經建立了我最喜歡的CRAN成鏡的功能,所以請確保您編輯的你自己的需求。
以典型的美國風格,我把澳大利亞的域名擴展混淆爲奧地利,並想知道爲什麼不從最近的鏡子下載,特別是因爲它是CRAN的中央鏡子。 – shayaa
你指的是什麼「功能」? requirements.txt應該做什麼? – MrFlick
不能說出你在問什麼(而且我還不是其中的一員)。部署通常使用一個包來完成。可能是包描述文件或者'.Rprofile'文件中的內容。 –
嘗試使用'packrat' – hrbrmstr