2017-01-13 7 views
0

に 'キュー' という名前の無いモジュール私は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のウィンドウでキューを検索し、pip install queueを試してみます。最後に失敗しました。私はどのようにウィンドウ上のキューモジュールを使用しますか?

+4

Python3では、モジュールの名前は 'queue'(小文字)です。 – unutbu

+1

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

答えて

2

私は、この方法をインポート、あなたはモジュールをマルチプロセッシングからQueueを使用したいと思います -

from multiprocessing import Queue 

キュー・データ構造を使用したい場合は、あなたがqueueを小文字使用しています。

import queue 
+1

はこれを書こうとしていました。 – WhatsThePoint