Estoy intentando importar el módulo de requests
, pero recibí este error, mi versión de Python es 3.4 que se ejecuta en ubuntu 14.04
>>> import requests Traceback (most recent call last): File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 10, in from queue import LifoQueue, Empty, Full ImportError: cannot import name 'LifoQueue' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python3.4/dist-packages/requests/__init__.py", line 58, in from . import utils File "/usr/local/lib/python3.4/dist-packages/requests/utils.py", line 26, in from .compat import parse_http_list as _parse_list_header File "/usr/local/lib/python3.4/dist-packages/requests/compat.py", line 7, in from .packages import chardet File "/usr/local/lib/python3.4/dist-packages/requests/packages/__init__.py", line 3, in from . import urllib3 File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/__init__.py", line 10, in from .connectionpool import ( File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 12, in from Queue import LifoQueue, Empty, Full ImportError: No module named 'Queue'
import queue
es minúscula q
en Python 3.
Cambie Q
por q
y estará bien.
(Consulte el código en https://stackoverflow.com/a/29688081/632951 para obtener información sobre la conmutación inteligente).
La cola está en el módulo de multiprocesamiento, así que:
from multiprocessing import Queue
Resolví el problema, mi problema era que tenía un archivo llamado queue.py en el mismo directorio
En mi caso debería ser:
from multiprocessing import JoinableQueue
Ya que en python2, Queue tiene métodos como .task_done()
, pero en python3 multiprocessing.Queue
no tiene este método, y multiprocessing.JoinableQueue
sí.
Me encuentro con el mismo problema y descubro que el módulo de cola define las clases y las excepciones, que define los métodos públicos (Objetos de cola).
Ex.
workQueue = queue.Queue(10)
Necesita instalar Queuelib
ya sea a través del Python Package Index (PyPI)
o desde la fuente.
Para instalar utilizando pip: –
$ pip install queuelib
Para instalar usando easy_install: –
$ easy_install queuelib
Si ha descargado un archivo comprimido de origen, puede instalarlo ejecutando lo siguiente (como root):
python setup.py install