Подтвердить что ты не робот

Очередь ImportError в python 3

Я не уверен, почему я получаю это ImportError. queue.Queue() находится в документации.

https://docs.python.org/3/library/queue.html?highlight=queue#queue.Queue

Я использую его в такой функции:

node_queue = queue.Queue()

Ошибка:

Traceback (most recent call last):
  File "./test_jabba.py", line 15, in <module>
    from utils import gopher, jsonstream, datagen, event_gen, tree_diff, postal
  File "/Users/bli1/Development/QE/TrinityTestFramework/poc/utils/tree_diff.py", line 5, in <module>
    import queue
ImportError: No module named queue

Строка 5 - import queue:

#!/usr/bin/env python3
import sys                      # access to basic things like sys.argv
import os                       # access pathname utilities
import argparse                 # for command-line options parsing
import queue
4b9b3361

Ответ 1

Это своего рода стандартная версия, совместимая с py2-py3:

try: 
    import queue
except ImportError:
    import Queue as queue

Ответ 2

Другой способ избежать проблем с версией:

import sys
is_py2 = sys.version[0] == '2'
if is_py2:
    import Queue as queue
else:
    import queue as queue

Ответ 3

для ImportError: нет модуля с именем "Очередь" в Python3, просто замените предложение "очередь импорта" на "очередь импорта как очередь".

Ответ 4

Замените #!/usr/bin/env python3 на #!/usr/bin/python3

Если ваш env настроен неправильно, то #!/usr/bin/env python3 может не работать. Если #!/usr/bin/python3 дает ту же ошибку, попробуйте запустить /usr/bin/python3 --version в своей оболочке в качестве проверки работоспособности.

Если вы не получаете разумного вывода из /usr/bin/python3 --version, то у вас есть странная установка python 3, и я предлагаю установить его с помощью диспетчера пакетов (apt-get, yum, homebrew или того, что вы предпочитаете) это, вероятно, устранит проблему !#/usr/bin/env).