2017-01-08 3 views
2

Bevor ich frage, sollte ich erwähnen, dass dies kein Problem oder ein Fehler ist, dies ist nur eine Frage, um mein Wissen zu erweitern.Warum funktioniert der Befehl "python" nicht in virtualenv?

Als ich auf einem Django-Projekt arbeiten (ich bin ganz neu auf all diese Dinge so nicht schlagen, bitte) Ich aktivierte meine virtualenv, installierte django Modul und begann django-admin.py startproject myproject ein neues Django-Projekt unter Verwendung. Das hat funktioniert. Aber dann habe ich cd zu myproject und versucht, python manage.py startapp firstapp auszuführen, und fehlgeschlagen.

Ich fing ImportError: no module named 'django'. Das Problem wurde gelöst, indem einfach ./manage.py startapp firstapp eingegeben wurde. Was zum Henker ist das? Warum funktioniert der Befehl python nicht? Python-Version ist 3.5.2.

+0

Haben Sie Django auf Ihrem 'virtualEvn' installiert? – deathangel908

+0

hast du django über 'pip' installiert? was siehst du, wenn du 'pip freeze' in deinen aktivierten virtualenv eingibst? –

+0

@ deathangel908 @Juraj Ich habe django genau in virtualenv via 'pip' installiert. 'pip freeze' Ausgabe:' Django == 1.10.5 uWSGI == 2.0.14' (Ich glaube nicht, dass uwsgi wichtig ist) –

Antwort

0

Wegen der Art und Weise, wie virtualenvs funktionieren, wurde Django nicht in besagtem env 'installiert'.

Der Grund ./manage.py startapp firstapp funktionierte, weil die ./ angezeigt, dass es eine ausführbare Datei war und daher vom System als solches behandelt. Auf diese Weise sind Module zugänglich, da das Programm außerhalb des env läuft.

Hope this half!

+0

Ich denke, ich sollte Ihre Antwort als die richtige betrachten. Das scheint mir noch ein bisschen zu sein, aber danke trotzdem –

Verwandte Themen