簡體   English   中英

multiprocessing.dummy為什么AttributeError:'模塊'對象沒有屬性'dummy'

[英]multiprocessing.dummy why AttributeError: 'module' object has no attribute 'dummy'

我在Python中遇到了一件奇怪的事情:

>>> import multiprocessing

>>> thread_pool = multiprocessing.dummy.Pool()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dummy'

但是,當我嘗試以下操作時:

>>> from multiprocessing.dummy import Pool as ThreadPool
>>> ThreadPool()
<multiprocessing.pool.ThreadPool object at 0x7faf9308d4a8>

>>> import multiprocessing.dummy
>>> multiprocessing.dummy.Pool()
<multiprocessing.pool.ThreadPool object at 0x7faf9308d2e8>

一切都好。 我知道import xxxfrom xxx import之間的區別,我想知道為什么會引發AttributeError。 我的問題是為什么import multiprocessing multiprocessing.dummy后不能使用import multiprocessing

multiprocessing.dummy包未導入multiprocessing.__init__.py 因此,

>>> import multiprocessing

>>> thread_pool = multiprocessing.dummy.Pool()

不起作用。 形成文檔字符串:

# This package is intended to duplicate the functionality (and much of
# the API) of threading.py but uses processes instead of threads.  A
# subpackage 'multiprocessing.dummy' has the same API but is a simple
# wrapper for 'threading'.

我猜想該子軟件包已被故意隱藏起來,以防止人們意外使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM