小编Max*_*wer的帖子

Pytest 在使用 tox 时说“ModuleNotFoundError”

我有以下项目结构:

root
|- module
  |- module.py
  |- __init__.py
|- tests
   |- unit
      |- some_test.py
   |- integration
      |- another_test.py
|- conftest.py
|- setup.py
|- tox.ini
Run Code Online (Sandbox Code Playgroud)

当我运行时,python3 module/module.py ...它按预期运行。

但是,当我执行时tox,我得到ModuleNotFoundError: No module named 'dateutil'.

在我的 setup.pyinstall_requires=['python-dateutil']和 tox.ini 中有以下(简化的)内容:

[tox]
envlist   = py{36, 37}
skipsdist = True

[testenv]
deps = pytest
commands = pytest
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么运行tox会让我找不到模块“dateutil”以及如何修复它?

python pytest tox

9
推荐指数
2
解决办法
3046
查看次数

Java的flatMap在可选整数列表的列表中

我有以下一些简化的代码无法编译,我不明白为什么:

List<Optional<Integer>> list =
    new ArrayList<>();
List<Integer> flattened = 
  list
    .stream()
    .flatMap(i -> i)
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

编译器告诉我:

[ERROR] ... incompatible types: cannot infer type-variable(s) R
[ERROR]     (argument mismatch; bad return type in lambda expression
[ERROR]       Optional<Integer> cannot be converted to Stream<? extends R>)
[ERROR]   where R,T are type-variables:
[ERROR]     R extends Object declared in method <R>flatMap(Function<? super T,? extends Stream<? extends R>>)
[ERROR]     T extends Object declared in interface Stream
Run Code Online (Sandbox Code Playgroud)

我承认我不习惯Java,但我必须参与一个项目.我在Scala中嘲笑了这一点,list.flatten并且list.flatMap(i => i)正如预期的那样等效工作:

val list = List(Some(1), …
Run Code Online (Sandbox Code Playgroud)

java optional java-8 java-stream

8
推荐指数
1
解决办法
274
查看次数

sbt-scoverage 的coverageExcludedPackages 不排除包

我正在使用 sbt scoverage 1.3.5 (Scala 2.11.8),并且我有一堆我不想包含覆盖率报告的类。特别是基类及其测试位于com/corp/something/something_elsemain 和 test 中。我已将以下几行添加到我的 buld.sbt 中:

coverageEnabled := true
coverageMinimum := 90
coverageFailOnMinimum := true
coverageExcludedPackages := """com.corp.something.something_else.*;"""
Run Code Online (Sandbox Code Playgroud)

我已经尝试过用单引号代替\\.点,有或没有最后的分号.*,有或没有最后的分号,但到目前为止,当我运行sbt clean coverage test coverageReport报告时包含所有内容,并且它不排除我列出的包。我缺少什么?

也许类似地,即使所有包的覆盖率都低于 90%,覆盖率报告也不会失败,并且根据我设置的选项,它应该会失败,对吧?

scala sbt scoverage

5
推荐指数
0
解决办法
1136
查看次数

Scala十六进制字符串到字节

在Scala中有一种巧妙的方法可以将十六进制编码String转换为protobuf ByteString(并再次返回)吗?

scala protocol-buffers

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

将参数化的 BigQuery 魔法分配给 Jupyter 中的变量

如果 Jupyter 中有参数,如何分配 BigQuery 单元魔术操作的输出?

%%bq execute --query sql_my_query --to-dataframe
parameters:
- name: min_val
  type: STRING
  value: $min_val
- name: max_val
  type: STRING
  value: $max_val
Run Code Online (Sandbox Code Playgroud)

我尝试在 BQ magic 前面放置一个变量(例如myvar = %%bq ...),我尝试使用myvar << %%bq,在整个表达式周围添加括号或大括号,但似乎没有任何效果。有人有什么想法吗?

除了 Python API 之外,示例中也没有任何示例,这对于应该相当标准的东西来说似乎有点混乱。

google-bigquery jupyter

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

通过列表作为单个功能参数

我有一个函数def f(a: Int, b: Int, c: Int, d: Int, ...),我想提供一个连续整数列表作为参数(在单元测试中)。

有没有一种整齐的供应(1 to N).toList方式f?由于该功能是不是def f(x: Int*),我不能简单地用list: _*list整数列表。

scala

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

在 React.js 中映射 JSON const

我的constReact.js 应用程序中有一堆配置,JSON 如下所示:

const original = [
  { 'id': '1', 'desc': 'AAA', 'isOK': true },
  { 'id': '2', 'desc': 'BBB', 'isOK': true },
  { 'id': '3', 'desc': 'CCC', 'isOK': false },
  ...
];
Run Code Online (Sandbox Code Playgroud)

它包含一堆配置,我可能会将它们放在一个单独的文件中,但现在我想测试它并认为 aconst是合适的。

我正在尝试使用ReactiveSearch组件并将其提供给需要转换为MultiDataListdata字段

[
  { label: '1', value: 'AAA' },
  { label: '2', value: 'BBB' },
  { value: '3', value: 'CCC' },
  ...
]
Run Code Online (Sandbox Code Playgroud)

我原以为original.map(e => { 'label': e.id, 'value': e.desc })这可以解决问题,但我在第一个冒号处得到了“意外标记”。IntelliJ 说“表达式语句不是赋值或调用”。

用单个项目映射数组工作得很好,例如 …

javascript jsx reactjs

2
推荐指数
1
解决办法
3511
查看次数

在单个设备上安装 iOS 应用程序,无需开发者程序

2019 年有没有一种方法可以在我自己的 iPhone 上安装我开发的 iOS 应用程序(在 Xcode 中),而无需在开发者计划中注册,我不想这样做,因为它要花钱,目前我只是在尝试东西出来。我无意将其安装在除我自己的设备之外的任何设备上。

我查看了此处并尝试了临时存档/构建,但这些需要签署应用程序,这本身会导致开发人员计划的注册和付款。至少我无法在不先付款的情况下将设备添加到开发者帐户。

SO 上也有一些较旧的问题,但它们都涉及旧版本的 Xcode 或 iTunes,它们不再支持安装应用程序。我想苹果经常会让避开开发者计划变得更加困难,这就是为什么许多指令已经过时的原因。

我确实尝试了以下操作:

  • 为分析而构建
  • 在文件夹中显示“Products/*.app”
  • 创建 Payload 目录并将应用程序复制到该目录中
  • 压缩并将扩展名从 zip 重命名为 ipa
  • 使用 Apple Configurator 2 将 ipa 拖放到 iPhone 上(通过电缆连接)

由于某种原因,该应用程序在主屏幕上呈灰色,但我根本无法打开它。

xcode ios

2
推荐指数
1
解决办法
3553
查看次数

Scalac 对具有类型参数的特征隐式值类的限制

以下内容无法编译,因为extends AnyVal它给出了以下编译错误:

value class needs to have exactly one val parameter
Run Code Online (Sandbox Code Playgroud)

这是代码(简化):

sealed trait Thing[A] {
  // stuff
}

object RichThing {
  implicit final class Implicits[A: ClassTag](val thing: A) extends AnyVal {

    def doSomething[B: ClassTag](f: A => B): Thing[A] = {
      // use f internally
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是我无法触及Thing[A]其中的库,并且我正在尝试扩展它,以便对于我们的内部用户来说,附加功能就像通常的隐式转换一样无缝。

我可以删除AnyVal,但是有没有办法绕过我的情况的限制(2.11 中)?

scala

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

使用xargs将bash中的URL连接起来

我正在尝试从输出构建URL,每行一个条目.我试过这个:

<stuff> | xargs -L1 -I {} echo "${url}&page=queryresults&j="{}
Run Code Online (Sandbox Code Playgroud)

但是,对于一些长行(它们没有空格但可以有破折号和下划线),我得到'{}'我期望生成的字符串<stuff>.如果我在最后的双引号和{}之间添加一个空格,它可以工作,但我有一个额外的空间,我不想要:

<stuff> | xargs -L1 -I {} echo "${url}&page=queryresults&j=" {}
Run Code Online (Sandbox Code Playgroud)

同样,如果我删除该&page=queryresults位,它的工作原理.我不知道为什么.

我在这里错过了什么?

它适用于此:

blajob_123abcd_1234567890x
Run Code Online (Sandbox Code Playgroud)

但不是这个: SomeTask_some_long_project_name_with_cumulative_metrics_YYYYMMDD_2018_08_15T00_12345a67b8-scheduled-run-bla-bla-bla-yadda

bash xargs

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