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.

29
demandé sur Rick Hoving 2011-12-07 20:19:27

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é.

51
répondu Jon 2015-10-01 14:05:56

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 à