多处理:AttributeError:StdIn实例没有属性'close'

时间:2012-06-08 11:32:08

标签: python multiprocessing

循环一个简单的范围时,我在多处理时遇到了这个错误。

Process PoolWorker-37:
Traceback (most recent call last):
  File "/usr/lib/python2.7/multiprocessing/process.py", line 249, in _bootstrap
    sys.stdin.close()
AttributeError: StdIn instance has no attribute 'close'

代码

pool = multiprocessing.Pool(processes=3)
pool.map(get_info, range(20000,20010), 1)
pool.close()
pool.join()

更新

第一个问题是eclipse改变了环境,但现在我得到了这个错误

PicklingError: Can't pickle <type 'cStringIO.StringO'>: attribute lookup cStringIO.StringO failed

2 个答案:

答案 0 :(得分:3)

如果您在PyCharm控制台中运行,则会抛出此错误。我使用了系统控制台,所有都运行正常。

答案 1 :(得分:2)

在PyCharm 4.5中,我的解决方案是删除&#34;然后显示命令行&#34;服务器运行/调试配置中的复选框python文件(在PyCharm手册中甚至没有记录)