2017-02-23 4 views
0

Ich versuche, meine Django-Projekte auf Amazon AWS mit Ubuntu 16.04 zu implementieren. Ich benutze Python Version 2.7.12 und Django 1.10.5. Ich habe mein virtualenv namens venv erstellt und dann aktiviert. Ich bekomme diesen Fehler, wenn ich versuche, python manage.py runserver auszuführen.konnte Django in virtualenv nicht importieren, funktioniert aber, wenn deaktiviert

Traceback (most recent call last): File "manage.py", line 17, in "Couldn't import Django. Are you sure it's installed and " ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Dann erkenne ich Django möglicherweise nicht in meinem Python-Pfad. Also fügte ich in meinem venv/bin/activate-Skript

hinzu. Jetzt mit dem virtualenv aktiviert kann ich in Python gehen und

import sys
sys.path
['', '/usr/local/lib/python2.7/dist-packages/django', '/home/ubuntu/TravelBuddy/venv/lib/python2.7', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/plat-x86_64-linux-gnu', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-tk', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-old', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/home/ubuntu/TravelBuddy/venv/local/lib/python2.7/site-packages', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/site-packages']

geben Sie sehen jetzt django ist in der Tat in meinem Python-Pfad. Ich dachte, das würde das Problem lösen, aber das war es nicht: Es heißt immer noch, Django könne nicht importiert werden. Jetzt bin ich verwirrt, denn wenn ich meinen virtualenv deaktiviere und Django importiere, funktioniert es.

das ist, was aus druckt, wenn ich meine virtualenv deaktivieren und tun sys.path

['', '/usr/local/lib/python2.7/dist-packages/django', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

+2

Haben Sie Django in der virtuellen env installiert ist, nicht nur hinzugefügt, um es auf den Weg? – Neelik

+0

@Neelik Ja, ich habe Django im virtuellen env installiert – ethan93

+0

In meinen virtuellen Umgebungen, die ich auf dem Server habe, befinden sich alle Pakete im Verzeichnis site-packages. Ich bemerke, dass du den Pfad für Django in deinem Beispiel als '/usr/local/lib/python2.7/dist-packages/django' aufgelistet hast, wenn venv aktiviert ist. Es gibt auch, später in der Liste, '/home/ubuntu/TravelBuddy/venv/lib/python2.7/site-packages'. Was passiert, wenn Sie Django in das Verzeichnis site-packages verschieben und versuchen, es zu importieren? – Neelik

Antwort

0

ok Ich fand heraus, was das Problem war. Es stellte sich heraus, dass ich, als ich mein virtualenv gestartet habe, den sudo-Befehl verwendet habe, aber wenn ich meine Pakete installiere, habe ich den Befehl sudo nicht benutzt, der ein Berechtigungsproblem oder eine Art bei der Installation der Pakete verursacht hat. So machte es Django nicht auf dem Weg. Wenn eine virtuelle env starten nie den Befehl sudo verwenden ...

1

1- installieren python3 brew install python3 2- installieren django pip3 install django

Verwandte Themen