Django 1.9a1 __init__.py ist in eclipse / PyDev sichtbar, obwohl es gelöscht werden sollte (Windows)

8

Ich habe ein seltsames Verhalten hier:

Ich habe gerade ein Update auf Django 1.9.4 von Django 1.9a1 mit pip gemacht. Die Installation lief einwandfrei und Django lief reibungslos, aber beim Start zeigte es immer noch die Versionsnummer "1.9a1".

Nur um sicher zu gehen, dass ich Django wieder mit pip deinstallierte und bestätigte, dass meine django-Ordner nicht mehr in C: \ Programme (x86) \ Python 3.5 \ lib \ site-packages existieren (weder das "django" noch das " Django-1.9.4 "Ordner).

Nachdem ich den Server erneut gestartet habe, war ich überrascht, die Fehlermeldung

zu lesen %Vor%

Ich habe erwartet, dass der Fehler etwas wie "Paket django nicht gefunden" oder ähnlich ist. Da Eclipse den Dateinamen als Link angibt, habe ich darauf geklickt, eine Eclipse hat eine Datei mit Inhalt geöffnet

%Vor%

Ich habe überprüft, dass diese Datei nicht über die Befehlszeile und über Windows Explorer verfügbar ist.

Wo befindet sich diese Datei und wie kann ich sie loswerden? Oder wird es automatisch generiert (und wenn ja, wie kann ich diesen Mechanismus korrigieren?)

Oder fehlt mir etwas völlig Offensichtliches?

Zusätzliche Informationen: Ich habe Django 1.9.4 und die init .py-Datei neu installiert, die sich unter C: \ Programme (x86) \ Python 3.5 \ lib \ site-packages \ django__init __ .py befindet und die korrekten Versionsinformationen enthält. Aber wenn ich ein Django-Projekt ausführe, lautet die Versionsinformation 1.9a1.

Auch wenn ich eine cmd-Eingabeaufforderung öffne und

eingebe %Vor%

Die Antwort ist 1.9a1

Update 2016-03-13 17:57: Ich habe es wieder deinstalliert und das explizite == 1.9.4 von Alecxe vorgeschlagen. Dies löste einen Teil des Problems: Wenn ich jetzt die Befehlszeile öffne,

%Vor%

gibt mir die richtige Antwort (1.9.4). Aber in Eclipse / PyDev startet mein Projekt nicht mehr. Die erste Fehlermeldung lautet:

%Vor%

Natürlich ist das Modul admin im Dateisystem vorhanden.

Um das zu überprüfen, habe ich ein neues Projekt in der Konsole mit

gestartet %Vor%

und das neue Projekt wurde erfolgreich erstellt.

Wenn ich PyDev in Eclipse verwende, um ein neues Projekt zu starten (mit "new" / "PyDev Django Project"), schlägt der Prozess fehl! Das Projektverzeichnis sowie manage.py werden erstellt, aber das Projektverzeichnis ist leer (keine init .py, settings.py, urls.py, wsgi.py).

Es scheint, als ob Eclipse / PyDev nicht die korrekte Django-Installation verwendet, obwohl alle angegebenen Dateinamen korrekt sind. Gibt es vielleicht Caching? Und ja, ich habe Eclipse nach der Neuinstallation neu gestartet.

Zusätzliche Informationen 2016-03-14 17:44: Ich habe gerade meinen Computer neu gestartet und überraschenderweise konnte mein Eclip wieder mein Projekt starten - der oben beschriebene Fehler verschwindet, aber die angezeigte Django Versionsnummer ist wieder 1.9a1! Jetzt habe ich die Eingabeaufforderung aktiviert und python -c "import django; print(django.get_version())" hat mir auch wieder 1.9a1 gegeben! Was ich als nächstes gemacht habe, war, die Eingabeaufforderung erneut als Administrator zu starten und - tataa - ich habe eine 1.9.4 bekommen.

Das Problem scheint also mit Administratorrechten zu tun zu haben, die möglicherweise auf die Installation von Python in C:\Program Files (x86)\Python 3.5 zurückzuführen sind. Ich habe das Konsolenfenster mit Administratorrechten für alle oben beschriebenen Pip-Installationen / Deinstallationen verwendet. Gibt es einen Windows-Mechanismus, der dieses Verhalten erklären könnte?

Lösung 2016-03-14 18:17: Ich habe jetzt mein ganzes C durchsucht: fahre nach Ordnern, die "django" enthalten, und ich habe eins in

gefunden

C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5\Lib\site-packages\django

und - Überraschungsüberraschung - es enthielt die Datei init .py mit der falschen Versionsnummer. Es sieht so aus, als hätte ich das 1.9a1 ohne Administratorrechte installiert und Eclipse hat diese Version immer benutzt, da es auch ohne Administratorrechte gestartet wurde. Nach einigen Nachforschungen über Windows VirtualStore entschied ich mich, den gesamten C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5 Ordner manuell zu löschen.

Gleich danach zeigte mir mein cmd-Fenster Version 1.9.4, unabhängig vom Admin- oder Nicht-Admin-Modus. Und - am wichtigsten - als ich mein Django-Projekt in Eclipse lief, zeigte es auch die korrekte Versionsnummer. Nur um sicher zu gehen, habe ich mit dem PyDev-Assistenten ein neues Django-Projekt erstellt und alle Projektdateien wurden korrekt erstellt.

Zusammenfassend ist das Problem auf eine vorherige Installation von django ohne Administratorrechte zurückzuführen, gefolgt von einer Django-Installation mit Administratorrechten. Der verantwortliche Mechanismus war der Windows VirtualStore, nicht Eclipse oder PyDev.

Ich werde die ganze Beschreibung meiner Odyssee so lassen, wie sie ist, vielleicht hilft es jemandem, das Thema zu finden. Ich werde unten eine kurze Zusammenfassung geben.

    
OBu 10.03.2016, 17:33
quelle

2 Antworten

4

Die lange Geschichte ist oben beschrieben, die kurze Antwort ist:

Ich hatte eine zusätzliche Installation von django in meinem C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5\Lib\site-packages\django -Ordner. Dies lag an der Installation der Version 1.9a1 ohne Administratorrechte.

Da Eclipse auch ohne Admin-Rechte auf Django zugreift, hat es die veraltete Version verwendet, und nicht die aktuelle, die installiert wurde, um Pip mit Admin-Rechten zu verwenden.

Ich habe den C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5 Ordner gelöscht und nach einem Neustart von Eclipse hat alles funktioniert.

    
OBu 14.03.2016, 17:22
quelle
1

Was ich mich erinnere, half mir in einem ähnlichen Fall, Django vollständig zu deinstallieren und es erneut zu installieren:

%Vor%

Sie müssen möglicherweise auch das django -Verzeichnis und die Ei- Datei überprüfen und manuell entfernen, wenn sie nach dem Deinstallieren von django über C:\Program Files (x86)\Python 3.5\lib\site-packages im Verzeichnis pip verbleibt.

    
alecxe 13.03.2016 15:08
quelle

Tags und Links