OS: Ubuntu 14.04 LTS
Python: 2.7.6
L’installation de Gourmet Recipe Manager s’est soudainement arrêtée. Lorsque je l'exécute dans une fenêtre de terminal, le message suivant s'affiche à la fin du traceback:
import datetime as dt
ImportError: No module named datetime
Autant que je sache, rien n'a été changé et mon installation de Python est à jour. Il a simplement cessé de fonctionner hier. J'apprécierais certainement une bonne approche pour diagnostiquer et résoudre ce problème!
Mise à jour: merci à tous ceux qui ont répondu!
Tim, je suis désolé si j'ai posé cette question au mauvais endroit. Merci de penser que vous êtes un nouveau type en suivant simplement les liens du site Web Ubuntu.
TheSchwa, j'ai essayé votre suggestion et j'ai reçu le même message d'erreur que ci-dessus.
muru, le paquet semble être installé, mais je n'ai aucune idée s'il est installé / configuré correctement. Comment pourrais-je le savoir?
Je suis désolé pour toutes les questions, mais je suis un vieil homme RedHat qui a été absent de Linux pendant un certain temps. Tous les trucs apt / dpkg sont nouveaux pour moi.
import datetime
dans l'interpréteur Python? Vous pouvez démarrer l'interprète en ouvrant un terminal et en l'exécutantpython
. Vous pouvez le laisser avecCtrl+d
.dpkg -S $(python -c "import datetime; print datetime.__file__")
, le module datetime est issu dulibpython2.7-stdlib
package. Ce paquet est-il correctement installé? Pouvez-vous essayer de le réinstaller?/usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so
ce que vous avez ce fichier? Aussi voyez-vous la/usr/lib/python2.7/lib-dynload
liste dans la sortie deecho $(python -c "import sys; print sys.path")
? En réalité, le système Stack Exchange ne prévient pas les commentateurs lorsque vous modifiez votre message. donc, à tout le moins, postez toujours un commentaire rapide du type "question mise à jour avec l'info", nous recevons donc une notification nousRéponses:
Cela m'est arrivé juste après la mise à jour 14.10, et cela semble être dû au fait que mes environnements virtuels en ont d'anciennes copies
/usr/bin/python2.7
- contrairement au nouveau binaire - n'incluent pas les fonctionsdatetime
intégrées et entraînent donc une erreur lorsqu'elles ne peuvent pas être localisées sur le disque. . Le nouvel interprète semble l'importer sans aucune entrée / sortie de fichier (essayez de l'exécuter sousstrace
pour vérifier).J'ai corrigé chaque environnement virtuel en l'activant et en l'exécutant:
la source
cp: '/usr/bin/python2.7' and '/usr/bin/python2.7' are the same file
mais l'erreur existe toujoursactivate
script. Dans ce cas, normalement, après l'activation, indiquewhich python2.7
le chemin d'accès au fichier Python de l'environnement et ne le renvoie pas au système Python.Vous pouvez simplement réinitialiser virtualenv en:
la source
virtualenv .
au lieu devirtualenv ,
cd $VIRTUAL_ENV
.OSError: [Errno 1] Operation not permitted
sudo virtualenv .
pour installer le nouveau fichier exécutable Python, puis j'ai modifié le tout$VIRTUAL_ENV
pour revenir au bon propriétaire du répertoire.Si vous rencontrez ce problème en essayant d'utiliser letsencrypt après une mise à niveau, cette solution a fonctionné à mon sens pour les forums de letencrypt - Impossible d'utiliser l'importation automatique: erreur: pas de module nommé io / 2345/3
Il me suffisait de supprimer ceci:
la source
rm -rf /opt/eff.org
faire fonctionnerJ'ai eu le même problème et j'ai finalement décidé qu'il devait s'agir de l'AWS CLI car j'ai remarqué qu'il avait son propre répertoire python. J'ai donc désinstallé AWS CLI et l'ai réinstallé, ce qui a résolu le problème:
sudo pip uninstall awscli
sudo pip install awscli
la source
Comme j'ai trouvé des changements dans 14.04, vous devez le faire à partir de la racine:
Pour la date et l'heure uniquement:
Pour tous les modules:
Aussi, si vous utilisez env env virtuel
à votre env.
la source
J'ai eu l'erreur quand j'ai mis à jour d'Ubuntu 14.04 à 14.10. J'ai recréé mon virtualenv et le problème est parti. Donc, si vous travaillez avec virtualenv, vous devriez le recréer.
Cependant, si vous ne le faites pas, je suppose que la réinstallation de votre projet fonctionnera. Ne touchez aucune bibliothèque système! Cela peut fonctionner pour le moment, mais peut éventuellement entraîner des problèmes avec d'autres.
la source
Cela se produit après certaines mises à niveau Ubuntu. Ma solution préférée est
Ceci met à jour tout le nécessaire sans supprimer les paquetages déjà installés.
Si vous avez plusieurs virtualenvs à mettre à jour, vous pouvez utiliser
xargs
:la source