Hallo Das ist eine alte Frage, aber sah, dass sie nicht beantwortet wird. Nicht sicher, was Sie zu tun versuchen, aber es gibt im Grunde zwei Modi, die Sie verwenden virtualenv können,
- Für die Entwicklung, in sich geschlossene Umgebungen
- Für den Einsatz zu schaffen, zu schaffen sich geschlossene Umgebungen
Im ersten Fall müssen Sie zuerst Ihren virtualenv mit dem Quellcode venv/bin/activate aktivieren. Wenn Sie ihn bereitstellen, müssen Sie sicherstellen, dass der virtualenv für Ihren Website-Code aktiviert ist. Persönlich bevorzuge ich den folgenden Ansatz, um sicherzustellen, dass Ihr Pfad korrekt eingestellt ist. (Ich füge dies auch für meine manage.py beim Ausführen einer Entwicklung, so dass ich keine Sorge muss zuerst die Umgebung zu aktivieren.
Modified manage.py
#!/usr/bin/env python
import os.path
# Cater for Virtual env, add to sys.path
pwd = os.path.abspath(os.path.dirname(__file__))
project = os.path.basename(pwd)
new_path = pwd.strip(project)
activate_this = os.path.join(new_path,'venv','bin','activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
from django.core.management import execute_manager
try:
import settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
sys.exit(1)
if __name__ == "__main__":
execute_manager(settings)
Dies funktioniert, darauf zurückzuführen, wie ich meine Struktur Projekte, würden Sie es zu Ihrer Verzeichnisstruktur ändern müssen Meine Projekte strukturiert sind wie folgt:.
TopLevelDir
|
|- Project DIR
|- venv
|- requirements
|- deployment configs
Was den Inhalt des shebang sind Zeile an der Spitze der von Ihnen ausgeführten manage.py? Was sind die genauen Befehle, die Sie verwenden, um den interaktiven Interpreter von Python und manage.py auszuführen, wenn Ihr virtualenv aktiviert ist? –