当我单击运行测试按钮时,Android Studio会构建并尝试运行测试.
70%的时间,它说"实例化测试...",从来没有去过任何地方.如果我杀死adb-server,拔掉设备或杀死模拟器,那么测试套件可以正常运行.
那天晚上我甚至看到了一种奇怪的行为.当我说实例化测试时,我拔掉了设备.Android Studio发现它消失了.几个小时后,我把手机从口袋里掏出来,解锁了,不知从哪里开始运行测试套件.
知道什么会导致这种行为吗?我发现最接近的是Android Test在实例化测试中停止,但这指的是另一个问题.
我们的 ESLint 配置继承自 airbnb 的配置。
尽管启用了缩进规则,但出于某种原因,这是允许的:
let a = some * math
* operators;
Run Code Online (Sandbox Code Playgroud)
尽管我希望它需要以下内容(额外的缩进以强调):
let a = some * math
* operators;
Run Code Online (Sandbox Code Playgroud)
缩进 linting 在其他地方都按预期工作。
例如,linting 会抱怨这里的缩进:
let c = somefunction(
parm
);
Run Code Online (Sandbox Code Playgroud)
这是 ESLint 中的错误,还是我需要在配置中打开规则?indent 的文档中似乎没有任何内容适用,并且我没有看到任何其他似乎相关的规则。
谢谢!
我想创建一个数据类基类,其中子类中的所有字段自动为可选且默认为“无”(如果未提供默认值)。
下面的代码......似乎几乎达到了我想要的效果,但又不完全是。它的错误方式就像我从未编写过一样__init_subclass__(即抱怨未填充的参数)...也许是因为我的代码在数据类魔法发生后运行?
@dataclass(order=True, frozen=True)
class BaseDictKey:
def __init_subclass__(cls, *args, **kwargs):
super().__init_subclass__(*args, **kwargs)
# noinspection PyUnresolvedReferences
for field in cls.__dataclass_fields__.values():
field.default = None if field.default is None else field.default
field.type = typing.Union[field.type, NoneType]
@dataclass(order=True, frozen=True)
class ScoreDictKey(BaseDictKey):
catalog: str # magically becomes catalog: Optional[str] = None
dataset: str = 'foo' # magically becomes dataset: Optional[str] = 'foo'
Run Code Online (Sandbox Code Playgroud)
(如果您想知道为什么我想要这个,我有另一个使用这些 BaseDictKeys 的基类,它期望子类中的任何和所有字段都是可选的。我想如果我检测到某些内容不是可选的,我可以改为引发异常,但这看起来更丑陋。)
这在 Python 3.7+ 中可能吗?
我有一项处理器非常密集的任务,大约需要 13-20 小时才能完成,具体取决于机器。似乎是通过多处理库进行并行化的明显选择。问题是......我产生的进程越多,相同的代码变得越慢。
每次迭代的时间(即运行sparse.linalg.cg所需的时间):
183s 1 进程
245s 2 进程
312s 3个进程
383s 4个进程
诚然,虽然 2 个进程每次迭代需要多花费 30% 多一点的时间,但它同时执行 2 个进程,因此速度仍然稍快一些。但我不认为实际的数学运算本身会更慢!这些计时器直到多处理增加的开销之后才会启动。
这是我的代码的精简版本。问题行是sparse.linalg.cg 行。(我尝试过使用 MKL 与 OpenBLAS 之类的方法,并强制它们在单个线程中运行。还尝试过手动生成进程而不是使用池。没有运气。)
def do_the_thing_partial(iteration: int, iter_size: float, outQ : multiprocessing.Queue, L: int, D: int, qP: int, elec_ind: np.ndarray, Ic: int, ubi2: int,
K : csc_matrix, t: np.ndarray, dip_ind_t: np.ndarray, conds: np.ndarray, hx: float, dstr: np.ndarray):
range_start = ceil(iteration * iter_size)
range_end = ceil((iteration + 1) * iter_size)
for rr in range(range_start, range_end):
# do some …Run Code Online (Sandbox Code Playgroud) Foo = type('Foo', (), {})
Bar = Optional[Foo]
Run Code Online (Sandbox Code Playgroud)
mypy抱怨 error: Variable "packagename.Foo" is not valid as a type
除了这样做还有其他办法吗
Class Foo:
pass
Bar = Optional[Foo]
Run Code Online (Sandbox Code Playgroud)
?
python ×3
python-3.x ×3
android ×1
eslint ×1
javascript ×1
mypy ×1
numpy ×1
scipy ×1
unit-testing ×1