Betriebssystem: Ubuntu 14.04 LTS
Python: 2.7.6
Meine Installation von Gourmet Recipe Manager wurde plötzlich nicht mehr geladen. Wenn ich es in einem Terminalfenster ausführe, erhalte ich am Ende des Tracebacks Folgendes:
import datetime as dt
ImportError: No module named datetime
Soweit ich das beurteilen kann, wurde nichts geändert und meine Python-Installation ist auf dem neuesten Stand. Es hat gestern einfach aufgehört zu arbeiten. Ich würde mich auf jeden Fall über einen guten Ansatz zur Diagnose und Behebung dieses Problems freuen!
Update: Danke an alle, die geantwortet haben!
Tim, es tut mir leid, wenn ich diese Frage an der falschen Stelle gestellt habe. Bitte verstehe es als neuer Typ, indem du einfach den Links auf der Ubuntu-Website folgst.
TheSchwa, ich habe Ihren Vorschlag ausprobiert und die gleiche Fehlermeldung wie oben erhalten.
muru, das paket scheint installiert zu sein, aber ich habe keine ahnung, ob es richtig installiert / konfiguriert ist. Wie könnte ich es herausfinden?
Es tut mir leid für all die Fragen, aber ich bin ein alter RedHat-Typ, der seit einiger Zeit nicht mehr unter Linux arbeitet. Das ganze apt / dpkg-Zeug ist neu für mich.
import datetime
im Python-Interpreter versuchen ? Sie können den Interpreter starten, indem Sie ein Terminal öffnen und ausführenpython
. Sie können es mit verlassenCtrl+d
.dpkg -S $(python -c "import datetime; print datetime.__file__")
datetime-Modul stammt demnach aus demlibpython2.7-stdlib
Paket. Ist das Paket richtig installiert? Können Sie versuchen, es erneut zu installieren?/usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so
haben Sie diese Datei? Siehst du/usr/lib/python2.7/lib-dynload
das auch in der Ausgabe von aufgelistetecho $(python -c "import sys; print sys.path")
? Übrigens benachrichtigt das Stack Exchange-System Kommentatoren nicht, wenn Sie Ihren Beitrag bearbeiten.Antworten:
Dies ist mir erst nach dem 14.10-Update passiert, und es scheint so, als
/usr/bin/python2.7
ob meine virtuellen Umgebungen alte Kopien davon - anders als die neue Binärdatei - nicht enthaltendatetime
und daher eine Fehlermeldung erhalten, wenn sie sie nirgendwo auf der Festplatte finden können . Der neue Interpreter scheint es ohne Datei-E / A zu importieren (versuchen Sie, es unter auszuführen, um diesstrace
zu überprüfen).Ich habe jede virtuelle Umgebung repariert, indem ich sie aktiviert und ausgeführt habe:
quelle
cp: '/usr/bin/python2.7' and '/usr/bin/python2.7' are the same file
aber der Fehler ist immer noch vorhandenactivate
In diesem Fall liegt möglicherweise ein Problem mit Ihrem Skript vor. Normalerweise wird nach der Aktivierungwhich python2.7
der Pfad zum Python der Umgebung angezeigt und nicht der Pfad zum System-Python zurückgegeben.Sie können die virtuelle Umgebung einfach neu initialisieren, indem Sie:
quelle
virtualenv .
stattdessen sein solltevirtualenv ,
cd $VIRTUAL_ENV
.OSError: [Errno 1] Operation not permitted
sudo virtualenv .
, um die neue ausführbare Python-Datei zu installieren, und dann das Ganze wieder$VIRTUAL_ENV
in den richtigen Verzeichnis-Besitzer geändert .Wenn Sie nach einem Upgrade versuchen, letsencrypt zu verwenden, funktioniert diese Lösung für mich. Letsencrypt-Foren - Automatischer Import nicht möglich: Fehler: Kein Modul mit dem Namen io / 2345/3
Ich musste das nur löschen:
quelle
rm -rf /opt/eff.org
zumIch hatte das gleiche Problem und entschied schließlich, dass es sich um die AWS-CLI handeln muss, da mir aufgefallen ist, dass sie ein eigenes Python-Verzeichnis hat. Also habe ich AWS CLI deinstalliert und neu installiert und das hat das Problem behoben:
sudo pip uninstall awscli
sudo pip install awscli
quelle
Da ich in 14.04 einige Änderungen gefunden habe, müssen Sie dies von root aus tun:
Nur für die Datumszeit:
Für alle Module:
Auch wenn Sie eine virtuelle Env-Kopie verwenden
zu Ihrer Umgebung
quelle
Ich habe den Fehler beim Upgrade von Ubuntu 14.04 auf 14.10 erhalten. Ich habe mein Virtualenv neu erstellt und das Problem ist verschwunden. Wenn Sie also mit einem virtuellen Gerät arbeiten, sollten Sie es neu erstellen.
Wenn Sie dies nicht tun, funktioniert die Neuinstallation Ihres Projekts wahrscheinlich. Berühren Sie keine Systembibliotheken! Es kann vorerst funktionieren, wird aber möglicherweise zu Problemen mit anderen führen.
quelle
Dies geschieht nach einigen Ubuntu-Upgrades. Meine Lieblingslösung ist
Dies aktualisiert alles, was benötigt wird, ohne die bereits installierten Pakete zu entfernen.
Wenn Sie viele virtuelle Umgebungen aktualisieren müssen, können Sie Folgendes verwenden
xargs
:quelle