Windows上没有名为“Queue”的模块

时间:2017-01-13 10:26:20

标签: python queue

我尝试在Windows上使用程序:

import random, time, Queue
from multiprocessing.managers import BaseManager

task_queue = Queue.Queue()
result_queue = Queue.Queue()

class QueueManager(BaseManager):
    pass

QueueManager.register('get_task_queue', callable=lambda: task_queue)
QueueManager.register('get_result_queue', callable=lambda: result_queue)

manager = QueueManager(address=('', 5000), authkey='abc')
manager.start()
task = manager.get_task_queue()
result = manager.get_result_queue()

for i in range(10):
    n = random.randint(0, 10000)
    print('Put task %d...' % n)
    task.put(n)
print('Try get results...')

for i in range(10):
   r = result.get(timeout=10)
   print('Result: %s' %r)
manager.shutdown()

我收到错误:

ImportError: No module named 'Queue'

但我在Ubuntu中运行它,它的工作原理。  我在stackoverflow中搜索Queue,在pypi.python.org中搜索windows并尝试pip install Queue。最后它失败了。那么我如何在Windows上使用Queue模块?

1 个答案:

答案 0 :(得分:2)

我想你想从多处理模块中使用else,然后以这种方式导入 -

Queue

如果要使用队列数据结构,则使用小写from multiprocessing import Queue

queue