2017-01-13 33 views
0

沒有模塊我嘗試在Windows上使用的程序:命名爲 '排隊' 在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中搜索隊列,pypi.python.org for windows並嘗試pip安裝隊列。最後它失敗了。那麼我怎麼在窗口上使用隊列模塊呢?

+4

在Python3中,該模塊被命名爲'queue'(小寫)。 – unutbu

+1

Duplicate:http://stackoverflow.com/questions/33432426/importerror-no-module-named-queue –

回答

2

我猜你想使用Queue從多處理模塊,然後再導入這種方式 -

from multiprocessing import Queue 

如果你想使用隊列數據結構,那你就用小寫queue

import queue 
+1

正要寫這個,打我吧 – WhatsThePoint