使用 SCOOP 时的异常和类型错误
Exception and TypeError when using SCOOP
我想在高性能计算环境中使用 SCOOP(Python 中的可扩展并发操作)。为了测试 SCOOP,我在 Windows 机器上使用 Python 2.7.18 在 Anaconda 环境 (4.10.3) 中安装了模块。当 运行 此示例脚本来自 the docs:
# -*- coding: utf-8 -*-
from __future__ import print_function
from scoop import futures
def helloWorld(value):
return "Hello World from Future #{0}".format(value)
if __name__ == "__main__":
returnValues = list(futures.map(helloWorld, range(16)))
print("\n".join(returnValues))
我在控制台中得到以下输出。
(scoop) C:\Users\flyinthelotion\Downloads>python -m scoop -n 6 test_scoop.py
[2021-08-12 09:39:35,285] launcher INFO SCOOP 0.7 1.1 on win32 using Python 2.7.18 |Anaconda, Inc.| (default, Apr 23 2020, 17:26:54) [MSC v.1500 64 bit (AMD64)], API: 1013
[2021-08-12 09:39:35,285] launcher INFO Deploying 6 worker(s) over 1 host(s).
[2021-08-12 09:39:35,286] launcher INFO Worker distribution:
[2021-08-12 09:39:35,286] launcher INFO 127.0.0.1: 5 + origin
Hello World from Future #0
Hello World from Future #1
Hello World from Future #2
Hello World from Future #3
Hello World from Future #4
Hello World from Future #5
Hello World from Future #6
Hello World from Future #7
Hello World from Future #8
Hello World from Future #9
Hello World from Future #10
Hello World from Future #11
Hello World from Future #12
Hello World from Future #13
Hello World from Future #14
Hello World from Future #15
Exception Exception TypeErrorTypeError: : ""''NNoonneeTTyyppee'' oobbjjeecctt iiss nnException ooTypeErrortt: "cc'aaNllollnaaebbTllyeep""e in in '<< bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000004141C18>>bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003DB2C18>>o ignored
Exception Exception bTypeErrorTypeError ignored
j: : Exception e""TypeErrorc: ''t"NN 'ooiNnnsoee nTTneyyoTpptyee p''ce a'ool bblojjebaecjbctelt ce it"is in s i< nsbound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003882C18>>no ignored
ntoException o tTypeErrortc : ac"cla'allNlalolbanalbelebTe"ly" in ep in <"e<bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003492C18>> in 'bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000004141F28>> ignored
Exception Exception < ignored
Exception TypeErrorTypeErrorbound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003DB2F28>>oException TypeError: : ignored
bTypeError: ""Exception j: "''TypeErrore"'NN: c'NNo"tooon' nnneNieeeTosTTTyn yyypenpppeToee'yte'' p ' oec 'obaoo bjlbbojeljjbecaeejctbccet lttc ie tis"ii s in ssi n< snobound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003882F28>>nn ot ignored
oont Exception tto cTypeError tca: cc al"aacll'llalaNlllaboaalblnbbaleellbe"Teel" in y""e in <p in in "<bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003365C18>>e<< in bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003492F28>> ignored
'bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003945C18>>bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000004141F98>>< ignored
Exception ignored
ignored
bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003DB2F98>>Exception TypeErroroException ignored
TypeError: bTypeError: "j: "'e"'Nc'NotNon oneineTseTy Typnyepop'ete ' 'o c boaojblbejljceaetcbc tlti e si"i s in sn < ontnbound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003882F98>>o o ignored
tct a clcalalallb[lal2021-08-12 09:39:37,559] launcher (127.0.0.1:51026) INFO Root process is done.
abebl"l in ee<"[2021-08-12 09:39:37,561] launcher (127.0.0.1:51026) INFO Finished cleaning spawned subprocesses.
因此:SCOOP 做了需要做的事情,但同时也会抛出错误。不过,这些错误似乎对其性能没有影响。这对我未来的项目来说是个问题吗?如何避免显示这些错误?
谢谢
异常被忽略的消息是因为 __del__
方法中引发的所有异常都被忽略以保持数据模型的完整性。 docs
如果你想便宜地修复它,请尝试捕获错误
我想在高性能计算环境中使用 SCOOP(Python 中的可扩展并发操作)。为了测试 SCOOP,我在 Windows 机器上使用 Python 2.7.18 在 Anaconda 环境 (4.10.3) 中安装了模块。当 运行 此示例脚本来自 the docs:
# -*- coding: utf-8 -*-
from __future__ import print_function
from scoop import futures
def helloWorld(value):
return "Hello World from Future #{0}".format(value)
if __name__ == "__main__":
returnValues = list(futures.map(helloWorld, range(16)))
print("\n".join(returnValues))
我在控制台中得到以下输出。
(scoop) C:\Users\flyinthelotion\Downloads>python -m scoop -n 6 test_scoop.py
[2021-08-12 09:39:35,285] launcher INFO SCOOP 0.7 1.1 on win32 using Python 2.7.18 |Anaconda, Inc.| (default, Apr 23 2020, 17:26:54) [MSC v.1500 64 bit (AMD64)], API: 1013
[2021-08-12 09:39:35,285] launcher INFO Deploying 6 worker(s) over 1 host(s).
[2021-08-12 09:39:35,286] launcher INFO Worker distribution:
[2021-08-12 09:39:35,286] launcher INFO 127.0.0.1: 5 + origin
Hello World from Future #0
Hello World from Future #1
Hello World from Future #2
Hello World from Future #3
Hello World from Future #4
Hello World from Future #5
Hello World from Future #6
Hello World from Future #7
Hello World from Future #8
Hello World from Future #9
Hello World from Future #10
Hello World from Future #11
Hello World from Future #12
Hello World from Future #13
Hello World from Future #14
Hello World from Future #15
Exception Exception TypeErrorTypeError: : ""''NNoonneeTTyyppee'' oobbjjeecctt iiss nnException ooTypeErrortt: "cc'aaNllollnaaebbTllyeep""e in in '<< bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000004141C18>>bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003DB2C18>>o ignored
Exception Exception bTypeErrorTypeError ignored
j: : Exception e""TypeErrorc: ''t"NN 'ooiNnnsoee nTTneyyoTpptyee p''ce a'ool bblojjebaecjbctelt ce it"is in s i< nsbound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003882C18>>no ignored
ntoException o tTypeErrortc : ac"cla'allNlalolbanalbelebTe"ly" in ep in <"e<bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003492C18>> in 'bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000004141F28>> ignored
Exception Exception < ignored
Exception TypeErrorTypeErrorbound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003DB2F28>>oException TypeError: : ignored
bTypeError: ""Exception j: "''TypeErrore"'NN: c'NNo"tooon' nnneNieeeTosTTTyn yyypenpppeToee'yte'' p ' oec 'obaoo bjlbbojeljjbecaeejctbccet lttc ie tis"ii s in ssi n< snobound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003882F28>>nn ot ignored
oont Exception tto cTypeError tca: cc al"aacll'llalaNlllaboaalblnbbaleellbe"Teel" in y""e in <p in in "<bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003365C18>>e<< in bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003492F28>> ignored
'bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003945C18>>bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000004141F98>>< ignored
Exception ignored
ignored
bound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003DB2F98>>Exception TypeErroroException ignored
TypeError: bTypeError: "j: "'e"'Nc'NotNon oneineTseTy Typnyepop'ete ' 'o c boaojblbejljceaetcbc tlti e si"i s in sn < ontnbound method Socket.__del__ of <zmq.sugar.socket.Socket object at 0x0000000003882F98>>o o ignored
tct a clcalalallb[lal2021-08-12 09:39:37,559] launcher (127.0.0.1:51026) INFO Root process is done.
abebl"l in ee<"[2021-08-12 09:39:37,561] launcher (127.0.0.1:51026) INFO Finished cleaning spawned subprocesses.
因此:SCOOP 做了需要做的事情,但同时也会抛出错误。不过,这些错误似乎对其性能没有影响。这对我未来的项目来说是个问题吗?如何避免显示这些错误?
谢谢
异常被忽略的消息是因为 __del__
方法中引发的所有异常都被忽略以保持数据模型的完整性。 docs
如果你想便宜地修复它,请尝试捕获错误