2014-09-25 14 views
30

genannt Wenn ich meine Ubuntu in 14,04 von 12,04 aktualisieren, dieses Mal, wenn ich diesen Fehler:Import: Kein Modul Datetime

ImportError: No module named datetime 
+1

Sie erhalten diesen Fehler, während was? – g4ur4v

+0

Welche Version von Python verwenden Sie? –

+0

Ja, während ich es aktualisiere und auch nach dem Upgrade, ist der Fehler immer noch da. – akbsmile

Antwort

55

Das ist mir passiert, als ich ein virtualenv erstellt und dann von 12.04 bis 14.04 aktualisiert.

Ich musste mein virtualenv löschen und neu erstellen, und danach hat alles wieder funktioniert.

+3

Ich hatte das gleiche Problem, nachdem ich apt-get dist-upgrade mein Debian. Lösung war, den virtualenv zu löschen und neu zu erstellen. –

+2

Danke für den Hinweis! Einfach 'mkvirtualenv $ my_venv_name' ausführen, löste es für mich. – Chriki

+2

das gleiche passierte für mich nach dem Upgrade von 14.04 auf 16.04 –

8

Ich versuchte, es durch diese Schritte erneut zu installieren.

1. remove the old version of venv 
2. virtualenv venv 
3. .venv/activate/bin 
4. pip install -r requirements/ requirements.txt 

Und es funktioniert perfekt. Danke Jungs :)

2

Versuchen ...

>>> import sys 
>>> sys.path 
[... '/usr/local/lib/python2.7/lib-dynload',...] 

wenn lib-dynload nicht in sys.path enthalten, man konnte nicht import datetime

es überprüfen!

+0

Ohh Ic. Vielen Dank! :) – akbsmile

34

Führen Sie einfach diesen Befehl aus. Es hat funktioniert wie ein Zauber!

$ cp /usr/bin/python2.7 $(which python2.7) 

Dies ist nur mir passiert nach dem 14.10-Update, und es scheint zu sein, weil meine virtuellen Umgebungen haben alte Kopien von /usr/bin/python2.7, die - im Gegensatz zu dem neuen Binär - nicht enthalten datetime eingebaut, und so eine bekommen Fehler, wenn sie nirgendwo auf der Festplatte gefunden werden können. Der neue Interpreter scheint es ohne Datei-I/O zu importieren (versuchen Sie es unter strace zu überprüfen).

More info here

+0

Danke, das war hilfreich auf Ubuntu. – baltasvejas

+1

Ich habe einen Schritt weiter gegangen, "rm venv/bin/python *", dann reinitialisieren mit "virtualenv venv". Weniger destruktiv im Vergleich zum Wiederaufbau des gesamten Venv. – kevinf

+3

** Sie verdienen einen Kaffee! Danke:) ** - Auch durch das Upgraden von Ubuntu 14.04 auf Ubuntu 16.04.1, ohne die virtuelle Umgebung zu berühren. – Flatron

4

Wenn Sie virtualenv, zu aktualisieren, es könnte dieses Problem lösen

virtualenv /path/to/old/virtualenv/ 
7

nur neu initialisiert die virtualenv von:

cd <virtualenv-dir> 
virtualenv . 
+2

Das funktionierte für mich mit einer Änderung. "virtualenv." gab mir den Fehler: 'IOError: [Errno 40] Zu viele Ebenen von symbolischen Links' also tat ich: 'rm bin/python *' und dann 'virtualenv.' gelungen. – saschwarz

0

ich von Ubuntu 12,04-14,04 aktualisiert und this answer geholfen ich löse es:

Installation der Abhängigkeiten:

$ sudo apt-get build-dep python-imaging 

einen symbolischen Link zu machen, wie durch mrudult vorgeschlagen:

$ sudo ln -s -T /usr/include/freetype2/ /usr/include/freetype 

Kissen installieren wie gewohnt:

$ pip install Pillow 
0

Same mir passiert ist Ubuntu auf ein Upgrade von 14.04 bis 15.10.

Ich löste es durch pip aktualisieren und dann zu löschen und neu das virtuelle env:

$ easy_install --upgrade pip 
$ rmvirtualenv <my_virtual_env> 
$ mkvirtualenv <my_virtual_env> 

(Ich benutze virtualenvwrapper)

1
  1. klar virtuelle env, betrachten VIRTUAL ist der Name des virtuellen Umwelt

    virtualenv --clear VIRTUAL

  2. aktivieren Sie es jetzt und installieren von requirements.txt

    Quelle VIRTUAL/bin/aktivieren -r requirements.txt

6

Wenn durch Zufall installieren pip Sie über diesen Fehler kommen beim Versuch, Ihre LetsEncrypt Zertifikat zu erneuern (wie ich) fand ich die Lösung hier:

https://askubuntu.com/a/850669/668101

entfernen sie diesen Ordner und rerun LetsEncrypt und es werden alle relevanten Dateien neu erstellen und den Fehler vermeiden fro m diesen Thread.

rm ~/.local/share/letsencrypt -R 
+1

Guter Tipp! Danke für die Information!! Die einzige Sache ist, dass der Begriff "Thread" nicht wirklich auf StackOverflow zutrifft, da dies kein Diskussionsforum ist, sondern eine Q & A-Site :) Ansonsten war das wirklich hilfreich! Vielen Dank! –

0

Wenn Sie Datetime-Import Problem mit IntelliJ PyCharm oder Idee und von Console/Terminal Gesicht funktioniert es gut, sollten Sie nur duplizieren/neu ausgeführt Konfigurationen.