Frage Warum kann Django, das mit pip installiert wurde, nicht von Python importiert werden, während Django, das mit apt-get installiert wurde, gut funktioniert?


Ich bevorzuge generell zu verwenden pip eher, als apt-get für die Installation von Python-Modulen, da ich es vorziehe, die Pakete für die Python-Entwicklung von allgemeinen Systempaketen zu trennen. Es scheint jedoch so pip wird nicht für mich arbeiten. Ich möchte Django installieren, und wenn ich es benutzt habe sudo pip install DjangoDie Installation wurde erfolgreich durchgeführt. Als ich jedoch meinen Python-Interpreter REPL öffnete, konnte ich nicht erfolgreich import django - Ich habe eine erhalten ImportError Das Django konnte nicht gefunden werden. Auf der anderen Seite beim Laufen sudo apt install python-django, die Installation war wieder erfolgreich, und dieses Mal konnte ich Django importieren.

Warum passiert das? Mit dem pip Installation, aus irgendeinem Grund war Django nicht in /usr/local/lib/python2.7/dist-packages, wo Module mit Pip installiert werden, geht aber django-admin wurde installiert und nutzbar, was beweist pip muss Django installiert haben. Auf der anderen Seite, nach der Installation von Django mit apt/apt-get, Django Ordner existierten in /usr/lib/python2.7/dist-packages, wo alle Module gefunden werden, die ich mit dem Systempaket-Manager installiert habe. Ich weiß nicht, was ich noch tun kann, um dieses Problem zu beheben - bitte sagen Sie mir, ob es etwas gibt, das ich vermisse und hinzufügen sollte.

BEARBEITEN Ich habe es auch versucht easy_install, die auf meinem Python 3.5 installiert und dann pip3, und beide erlaubten das Importieren von dem Python 3-Interpreter. Also warum nicht pip für Python 2.7 arbeiten bei der Installation von Django? Ich habe es mit einem anderen Modul versucht pip für 2,7, und alles hat gut funktioniert. Das ist nur mit Django.


1
2017-10-05 01:57


Ursprung




Antworten:


Das Problem war, dass mein pip hatte aus irgendeinem Grund auf Python 3.5 gezeigt, obwohl es bereits vorhanden war pip3 dafür. Ich habe es repariert.


1
2017-10-05 03:12