web-dev-qa-db-fra.com

Python: pas de module nommé datetime?

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

56
Joe

Cela m'est arrivé après la mise à jour 14.10, et cela semble être dû au fait que mes environnements virtuels ont d'anciennes copies de /usr/bin/python2.7 qui, contrairement au nouveau fichier binaire, n'incluent pas le nom datetime et qu'ils obtiennent une erreur s'ils ne peuvent pas le trouver. disque n'importe où. Le nouvel interprète semble l'importer sans aucune entrée/sortie de fichier (essayez de l'exécuter sous strace pour vérifier).

J'ai corrigé chaque environnement virtuel en l'activant et en l'exécutant:

$ cp /usr/bin/python2.7 $(which python2.7)
84
Brandon Rhodes

Vous pouvez simplement réinitialiser virtualenv en:

cd $VIRTUAL_ENV
virtualenv .
29
sureshvv

Si vous tentez d'utiliser cette option après une mise à niveau, cette solution a fonctionné pour moi forums Letsencrypt - Impossible d'utiliser l'importation automatique: erreur: aucun module nommé io/2345/

Il me suffisait de supprimer ceci:

rm ~/.local/share/letsencrypt -R
28
Cody Moniz

J'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

2
JBaczuk

Cela se produit après certaines mises à niveau Ubuntu. Ma solution préférée est

$ virtualenv --no-site-packages path/to/virtualenv/dir

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:

$ ls ~/directory/with/virtualenvs | xargs -L1 virtualenv --no-site-packages
0
brandizzi

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 pourrait éventuellement créer des problèmes avec d'autres.

0
Doomsday

Comme j'ai trouvé des changements dans 14.04, vous devez le faire à partir de la racine:

Pour la date et l'heure uniquement:


ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/datetime.so

Pour tous les modules:


ln -s /usr/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/audioop.so
ln -s /usr/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so                        /usr/lib/python2.7/lib-dynload/_bsddb.so
ln -s /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so                           /usr/lib/python2.7/lib-dynload/bz2.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_cn.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_hk.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so               /usr/lib/python2.7/lib-dynload/_codecs_iso2022.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_jp.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_kr.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_tw.so
ln -s /usr/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so                         /usr/lib/python2.7/lib-dynload/crypt.so
ln -s /usr/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so                          /usr/lib/python2.7/lib-dynload/_csv.so
ln -s /usr/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so                  /usr/lib/python2.7/lib-dynload/_ctypes_test.so
ln -s /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/_ctypes.so
ln -s /usr/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so                 /usr/lib/python2.7/lib-dynload/_curses_panel.so
ln -s /usr/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/_curses.so
ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/datetime.so
ln -s /usr/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so                           /usr/lib/python2.7/lib-dynload/dbm.so
ln -s /usr/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so                  /usr/lib/python2.7/lib-dynload/_elementtree.so
ln -s /usr/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so                        /usr/lib/python2.7/lib-dynload/fpectl.so
ln -s /usr/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so               /usr/lib/python2.7/lib-dynload/future_builtins.so
ln -s /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/_hashlib.so
ln -s /usr/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/_hotshot.so
ln -s /usr/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so                         /usr/lib/python2.7/lib-dynload/_json.so
ln -s /usr/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so                 /usr/lib/python2.7/lib-dynload/linuxaudiodev.so
ln -s /usr/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/_lsprof.so
ln -s /usr/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so                          /usr/lib/python2.7/lib-dynload/mmap.so
ln -s /usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so               /usr/lib/python2.7/lib-dynload/_multibytecodec.so
ln -s /usr/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so              /usr/lib/python2.7/lib-dynload/_multiprocessing.so
ln -s /usr/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so                           /usr/lib/python2.7/lib-dynload/nis.so
ln -s /usr/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so                   /usr/lib/python2.7/lib-dynload/ossaudiodev.so
ln -s /usr/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so                        /usr/lib/python2.7/lib-dynload/parser.so
ln -s /usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/pyexpat.so
ln -s /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/readline.so
ln -s /usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/resource.so
ln -s /usr/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/_sqlite3.so
ln -s /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so                          /usr/lib/python2.7/lib-dynload/_ssl.so
ln -s /usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/termios.so
ln -s /usr/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so                     /usr/lib/python2.7/lib-dynload/_testcapi.so

Aussi, si vous utilisez env env virtuel

cp $(which python2.7) /opt/graphite/bin/python

à votre env.

0
Ilya Shevyrev