Python ne peut pas trouver dateutil.relativedelta
j'essaie d'exécuter un programme en utilisant paster serve
mais j'obtiens l'erreur:
ImportError: No module named dateutil.relativedelta
j'exécute python version 2.6.7 et dateutil
version 1.5, donc il devrait être installé.
quiconque A des idées pour expliquer pourquoi cela arriverait-il?
je suis de l'importation à l'aide de
from dateutil.relativedelta import *
je peux même voir le paquet quand je recherche:
/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyc
/usr/lib/python2.7/site-packages/dateutil/relativedelta.py
/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyo
UPDATE
donc ce post est maintenant pas mal de mois vieux et ça m'a juste valu le badge de question populaire, j'ai pensé qu'il pourrait être intéressant de jeter un coup d'oeil et de voir si je pouvais donner une bonne réponse à cette question avec un peu plus d'expérience pour me soutenir.
je regarde ça et de voir que dateutil
est installé uniquement pour python2.7 et je parie que ce que je faisais était ceci:
sudo yum install python-dateutil
sudo
aurait pu passer à la version par défaut de Python (i.e. Python2.7 au lieu de 2.6.4)
la Résolution de ce aurait été très simple:
su
(switch to virtual environment)
yum install python-dateutil
en utilisant su
et ensuite passer à l'environnement virtuel donnera accès à root et installera dans le répertoire virtuel de python. En utilisant sudo
installera les bibliothèques dans le répertoire par défaut, et non dans le site-packages des environnements virtuels.
4 réponses
j'ai aussi rencontré ce problème, la solution simple que j'ai finalement utilisé était d'ajouter --upgrade à la fin de la commande. Cela l'a forcé à l'installer même si python pensait qu'il était installé. Cette résolu le problème.
alors si vous avez ce numéro, essayez ce qui suit:
sudo pip install python-dateutil --upgrade
il ne peut pas blesser quoi que ce soit, il n'y a donc aucun mal à le forcer à être réinstallé.
j'avais un problème similaire mais pour une raison plus simple. Mon nouveau virtualenv n'avait tout simplement pas installé dateutil et je ne connaissais pas le nom du paquet Python. J'ai essayé pip install dateutil
, ce qui n'a évidemment pas fonctionné puisque le nom du paquet était incorrect. Cours d'exécution pip install python-dateutil
au lieu de cela a fonctionné (sans recourir à