Mon importation de modules Python
import Queue
from threading import Thread
import time
Mais quand je lance du code
File "b1.py", line 3, in <module>
import Queue
ModuleNotFoundError: No module named 'Queue'
J'ai vu des discussions similaires sur SO, mais rien ne fonctionne pour moi
/usr/bin/python3 --version
Python 3.5.2
milenko@milenko-System-Product-Name:~$ python --version
Python 3.6.0 :: Anaconda custom (64-bit)
Si je change pour
from multiprocessing import Queue
il n'y a pas de problème d'importation.
AttributeError: 'Queue' object has no attribute 'join'
Que dois-je essayer ensuite?
Sur Python 2, le module est nommé Queue
, sur Python 3, il a été renommé à suivre - directives PEP8 (tout en minuscules pour les noms de modules), ce qui en fait queue
. La classe reste Queue
sur toutes les versions (après PEP8).
En règle générale, la façon dont vous écririez les importations portables de version serait la suivante:
try:
import queue
except ImportError:
import Queue as queue