标签: devtools

使用带有自定义临时目录的 install.packages

我想安装一个具有安全配置文件的包,该包无权访问/tmp,但有自己的临时目录,例如/tmp/jeroen. 但是,即使我尝试传递TMPDIR环境变量,它仍然失败,因为它尝试使用/tmp. 下面是使用RAppArmorunixtools的玩具示例(有关测试配置文件,请参见此处

> library(RAppArmor)
> library(unixtools)

> dir.create("/tmp/jeroen")
> set.tempdir("/tmp/jeroen")
> setwd(tempdir());

> aa_change_profile("r-test")
Switching profiles...

> print(tempdir());
[1] "/tmp/jeroen"

> install.packages("plyr", lib="/tmp/jeroen", configure.vars="TMPDIR=/tmp/jeroen")
trying URL 'http://cran.rstudio.com/src/contrib/plyr_1.8.tar.gz'
Content type 'application/x-gzip' length 384462 bytes (375 Kb)
opened URL
==================================================
downloaded 375 Kb

Fatal error: cannot create 'R_TempDir'

The downloaded source packages are in
    ‘/tmp/jeroen/downloaded_packages’
Run Code Online (Sandbox Code Playgroud)

在查看kern.log文件(记录安全消息)时,发现问题在于R CMD INSTALL仍然尝试使用/tmp被拒绝的文件:

Jul 24 19:41:34 …
Run Code Online (Sandbox Code Playgroud)

r devtools cran

5
推荐指数
1
解决办法
4399
查看次数

devtools::load_all() 当函数 x 是加载包的一部分时“找不到函数 x”

我最近收到此错误消息:

> load_all(file.path(.db,"R-projects","taRifx.geo"))
Loading taRifx.geo
Error in eval(expr, envir, enclos) : could not find function "Polygons"
Run Code Online (Sandbox Code Playgroud)

该文件夹是我的本地副本:https : //github.com/gsk3/taRifx.geo

Polygons是 的一部分sp,并sp已加载:

> Polygons
function (srl, ID) 
{
    stopifnot(is.list(srl))
    stopifnot(length(srl) > 0)
    if (any(sapply(srl, function(x) !is(x, "Polygon")))) 
        stop("srl not a list of Polygon objects")
    if (missing(ID)) 
        stop("Single ID required")
    if (length(ID) != 1) 
        stop("Single ID required")
    ID <- as.character(ID)
    stopifnot(nchar(ID) > 0)
    res <- .Call(Polygons_c, srl, ID)
    res
}
<environment: namespace:sp>
Run Code Online (Sandbox Code Playgroud)

sp也在包的Depends部分中 …

r devtools

5
推荐指数
1
解决办法
1287
查看次数

有关管理大型,多方位企业Python代码库的信息?

我用谷歌搜索和谷歌搜索,但在Python中管理大型企业代码库的讨论或最佳实践几乎没有发现任何问题.在这里,我只是征求任何和所有指向这些信息的指针.这里有一些背景知识和一些我想回答的问题.

我们是长期的Java开发人员,他们使用完善的Java最佳实践以及Maven,Ant和Sonotype Nexus repo解决了下面提到的类似问题.

我这里只谈内部软件.我们不打算分发任何基于Python的东西.我们有多个使用Python的开发组,每个开发组都使用纯Python开发可共享的实用程序代码库,最终的Web应用程序和独立的工具.每个组都有自己的Github源代码库.

我们如何在组内和组内管理可共享代码?我们是否创建了鸡蛋(或类似的东西)并将它们分发并安装到Python系统中?如果是这样,我们会将它们存储在我们的Nexus repo中,就像我们的Java jar一样,或者如果内部包分发,是否有更多特定于Python的方法?或者,我们只是共享原始代码,从多个Github存储库中检出来源吗?

如果我们共享原始代码,那么当我们将来自多个存储库的代码汇集在一起​​时,我们如何正确管理Python搜索路径?

当我们希望所有包都存在于com.ourcompany基本命名空间中时,我们如何管理包命名空间?当您将具有重叠命名空间的源代码树汇集在一起​​时,似乎python并不太高兴.

我们如何管理第三方软件包版本控制?我从未见过easy_install或pip传递了版本号.我们如何锁定第三方软件包版本?

是否存在有助于Python代码评审,CI,回归测试等的工具?

我们是Python代码的相对新手,因此其中一些问题可能有相当明显的答案.尽管如此,我发现令人惊讶的是我无法找到有关管理更大的Python代码库的更多信息.

我们会遇到什么问题,我还没有想过询问,或者还不知道甚至不知道要问什么?

任何有价值的指针将不胜感激.

python enterprise devtools maven

5
推荐指数
1
解决办法
167
查看次数

在 S4 中编写函数并使用 roxygen2 时开发 R 包

我从An R Companion to Applied Regression - Chapter 8 中获取了以下代码。除了RS4. 当我构建文档时,我得到了lreg5-class.Rd而不是lreg5.Rd并且无法得到lreg5功能。这是我第一次尝试构建一个R包。

lreg5 函数

#' An S4 class to Logistic Regression.
#'
#' @export
#'  
#' @slot coefficients Coefficients
#' @slot var Variance Covariance Matrix
#' @slot deviance Deviance
#' @slot predictors Predictors of the model
#' @slot iterations No of iterations for convergence

setClass(
   Class = "lreg5"
 , slots =  list(
        coefficients="numeric"
      , var="matrix"
      , deviance="numeric" …
Run Code Online (Sandbox Code Playgroud)

r devtools package s4 roxygen2

5
推荐指数
1
解决办法
733
查看次数

RPivotTable能够列出超过允许的数量

我创建了一个rpivottable,我的问题是,当它运行时,我无法点击侧栏上的其中一个选项来过滤掉一个特定因素,因为它说有太多要列出.

数据透视表:

在此输入图像描述

然后当我点击Ad.Source时,会出现这样的情况:

在此输入图像描述

这是一个问题,因为如果我想通过点击下拉菜单"表格"创建折线图,它将不允许我创建图表,因为有太多的因素,我甚至无法过滤它来制作它很明显.

在R中创建一个pivottable,有没有办法覆盖它,以便它可以列出无限量或至少高于1000的数量,以便我可以过滤掉多个因素?

谢谢

javascript pivot-table r github devtools

5
推荐指数
1
解决办法
760
查看次数

无法从github安装R-package

我正在尝试从github安装flowIncubator包(链接到包:https://github.com/RGLab/flowIncubator).我正在使用R版本3.3.1(2016-06-21).我试过这段代码: devtools::install_github("RGLab/flowIncubator")得到这个错误:

  Error in curl::curl_fetch_disk(url, x$path, handle = handle) : 
      Timeout was reached
    > traceback()
    12: .Call(R_curl_fetch_disk, url, handle, path, "wb", nonblocking)
    11: curl::curl_fetch_disk(url, x$path, handle = handle)
    10: request_fetch.write_disk(req$output, req$url, handle)
    9: request_fetch(req$output, req$url, handle)
    8: request_perform(req, hu$handle$handle)
    7: httr::GET(url, path = path, httr::write_disk(path = tmp))
    6: remote_package_name.github_remote(remote)
    5: remote_package_name(remote)
    4: FUN(X[[i]], ...)
    3: vapply(remotes, install_remote, ..., FUN.VALUE = logical(1))
    2: install_remotes(remotes, quiet = quiet, ...)
    1: devtools::install_github("RGLab/flowIncubator")
Run Code Online (Sandbox Code Playgroud)

我试图更新两个软件包devtools和curl,我试图将R更新为旧版本,我试图下载.zip文件并通过R studio安装它然后从库加载包.我也尝试直接将包文件放入库中.我使用过函数install.packages(),但无法安装它.

curl r devtools rcurl install.packages

5
推荐指数
1
解决办法
2635
查看次数

从包中的sysdata.rda自动加载数据

我花了很多时间寻找可能是一个非常基本的问题的答案,但我找不到我的问题的解决方案.我发现的最接近的是几年前的交换.

在这种情况下,问题是sysdata.rda文件在包中的正确目录中的位置.那不是我的问题.

我有一些变量可以存储我在包中使用的调色板之类的东西.这些变量仅在我的函数中使用,因此我将它们存储在R/sysdata.rda中.但是,当我加载包时,变量不会加载到包环境中.如果我从sysdata.rda手动加载数据,那么一切正常.

我阅读R软件包中内部数据所能找到的所有内容的印象是R/sysdata.rda中的数据会自动加载.

这是我用来存储数据的代码.

devtools::use_data(tmpBrks, tmpColors, prcpBrks, prcpChgBrks,
                   prcpChgBrkLabels, prcpColors, prcpChgColors,
                   internal = TRUE, overwrite = TRUE)
Run Code Online (Sandbox Code Playgroud)

这成功地在R/sysdata.rda创建了数据文件,当我手动加载数据时,数据就在文件中.

我需要做什么才能自动加载数据,以便我的包中的函数可以使用它们?

packages r devtools

5
推荐指数
1
解决办法
768
查看次数

使用devtools构建.md小插图

我正在使用knitr::rmarkdown(但knitr::knitr功能相同)作为我的VignetteEngine。然后,我使用构建包小插图devtools::build_vignettes()

这可行,但仅在中创建HTML和R输出文件inst/doc。我想要的是Markdown输出文件,因为只有该文件可以直接在Github项目页面中显示(对于HTML文件,Github显示源,对于Rmd文件,它显示渲染的输出,但是-显然-不执行R块)。

我已经尝试找出如何为custom VignetteEngines 指定输出,并且我认为应该有可能(毕竟,其他软件包至少使用它来构建PDF vignettes),但是我找不到通过这样做的方法devtools::build_vignettes。是否没有办法手动构建小插图(即通过knitr::knit忽略VignetteBuilder指令的类似机制)?

我也无法在文档/源中找到相关信息。

r devtools package knitr

5
推荐指数
1
解决办法
313
查看次数

如何在R包中的函数中使用数据?

我目前正在为R包编写函数。此功能旨在实现的部分目的是(a)将数据作为输入,并且(b)根据可接受值的列表检查其某一列。

这些可接受的价值是从另一个组织给我的​​。它们位于.csv文件中。我想做的是加载此.csv文件,并将其用作检查来自用户的列是否具有有效值的参考。

例如,假设用户具有以下数据:

set.seed(1839)
user <- data.frame(x=sample(letters,10),
                   y=rnorm(10))
user

   x          y
1  v -0.7025836
2  p -1.4586245
3  f  0.1987113
4  y  1.0544690
5  o -0.7112214
6  m  0.2956671
7  b  0.3016737
8  a -0.0945271
9  x -0.2790357
10 c  0.1681388
Run Code Online (Sandbox Code Playgroud)

.csv包含许多(有用的)列,但目前我只关心一个(z):

ref <- data.frame(z=letters[1:4], a=rnorm(4), b=(rnorm(4)))
ref

  z          a          b
1 a -0.3563105  1.4536406
2 b  1.6841862  1.3232985
3 c  1.3073516 -0.6978598
4 d  0.4352904 -0.3971175
Run Code Online (Sandbox Code Playgroud)

我想运行的代码是(注意:我没有library在实际函数中调用,为简单起见,我只是在这里做):

library(dplyr)
valid_values <- ref %>%
  select(z) %>% 
  unname() …
Run Code Online (Sandbox Code Playgroud)

r devtools roxygen2

5
推荐指数
1
解决办法
818
查看次数

React.js:如何在生产应用程序的devtools中隐藏节点模块和webconfig?

我已经创建了一个正在运行的React.js应用程序npx create-react-app my-app,但我不希望在生产模式下在devtools中使用完整的项目。

如何在“源”选项卡(devtools)中禁用或隐藏节点模块和webconfig?

我签入了其他已部署的react应用程序,该应用程序未显示静态文件夹或整个项目;我怎样才能做到相同?

下面是浏览器“来源”标签的控制台屏幕截图,显示了一些我想向公众隐藏的目录;

devtool图片

production devtools reactjs create-react-app

5
推荐指数
2
解决办法
2610
查看次数