Ciao Questa è una vecchia domanda, ma non è stata data risposta. Non sei sicuro di quello che si sta tentando di fare, ma ci sono fondamentalmente due modi è possibile utilizzare virtualenv,
- per lo sviluppo, per creare ambienti self-contained
- Per la distribuzione, per creare ambienti self-contained
Nel primo caso, è necessario prima Attivare il virtualenv con source venv/bin/activate, per quando viene distribuito, è necessario assicurarsi che il virtualenv sia attivato per il codice del sito web. Personalmente preferisco il seguente approccio per garantire che il tuo percorso sia impostato correttamente. (Ho anche aggiungere questo al mio manage.py quando si fa lo sviluppo, così io non devono preoccuparsi di attivare l'ambiente prima.
manage.py Modificato
#!/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)
Questo funziona, a causa di come I Struttura mia progetti, si dovrebbe cambiare per la struttura di directory I miei progetti sono strutturati in questo modo:.
TopLevelDir
|
|- Project DIR
|- venv
|- requirements
|- deployment configs
Quali sono i contenuti della baracca linea nella parte superiore di manage.py in esecuzione? Quali sono i comandi esatti che usi per eseguire l'interprete interattivo Python e manage.py quando il tuo virtualenv è attivato? –