J'ai Django 1.4.5 sur mon serveur et un projet en cours.Django runserver sous virtualenv en utilisant la mauvaise version
Je l'ai utilisé virtualenv pour créer une instance et installé Django 1.6.5 à l'intérieur (pip install Django==1.6.5).
Si je lance simplement:
python manage.py runserver
Tout fonctionne très bien et il commence un serveur en utilisant Django 1.6.5 Mais j'ai un fichier appelé run_devenv.py, qui commence fondamentalement tout mon projet en utilisant des sous-processus. Il démarre le serveur comme ceci:
def run_devenv():
processes = [
...
('webserver', subprocess.Popen([PYTHON, 'manage.py', 'runserver', '0.0.0.0:%d' % HTTP_PORT, '--settings', os.environ['DJANGO_SETTINGS_MODULE']])),
...
]
if __name__ == '__main__':
if not os.access(settings.DEVENV_DIR, os.F_OK):
setup_devenv()
else:
run_devenv()
Et pour une raison quelconque, il utilise Django 1.4.5 au lieu de 1.6.5.
On dirait qu'il utilise 1.4.5 installé dans le système et omet l'instance virtualenv avec 1.6.5.
Quelqu'un peut-il aider avec ceci?
EDIT> Solution: Mon problème était cette chaîne (je ne le montre pas):
PYTHON = "/usr/bin/python"
Il devrait ressembler à ceci:
PYTHON = "path_to_your_virtualenv/bin/python"
Est-il possible de spécifier un chemin vers la version de Django que vous voulez exécuter? – Deepend
En ce moment je cherche comment utiliser une valeur unifiée, donc je ne code pas le nom de virtualenv, cherchant smth comme 'sys.argv [0]' ou '/ usr/bin/env python' – Oleg