Salut,

L'exception qui t'es remonté est un problème d'importation d'un module (en 
l'occurence mysite.settings) par Python, donc ne cherche pas ailleurs c'est un 
problème de résolution du chemin vers ton module depuis ton instance WSGI.

Pour qu'il puisse résoudre le chemin, il faut que tu ais le module "mysite" 
accessible depuis ton PYTHONPATH, si ce n'est pas le cas et que tu ne 
souhaites pas l'y ajouter, il faut alors que tu l'ajoutes à la volée dans ton 
"*.wsgi" pour qu'il puisse le trouver :

    sys.path.append('/path/to/my/projects')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

Où "/path/to/my/projects" est le chemin (sans slash de fin!) vers le répertoire 
qui contient le module "mysite" qui contient tes settings.

Évidemment le répertoire "mysite" doit contenir un "__init__.py" mais si ce 
n'était pas le cas tu aurais eu des exceptions pendant ton développement.

Note bien qu'en général ton vhost est lancé par un utilisateur (root, nobody, 
wwwdata, etc..) qui ne bénéficie pas du PYTHONPATH de l'user avec lequel tu 
développes ton projet, c'est pourquoi il vaut mieux éviter de se reposer sur 
le PYTHONPATH et le spécifier clairement dans ton "*.wsgi" avec un 
"sys.path.append(...)".

Tu peux tester que la résolution est correct, en te connectant avec un autre 
utilisateur que celui avec lequel tu développes, par exemple root, tu lances 
l'interpéteur Python et tu essayes d'importer le module :

>> sys.path.append('/path/to/my/projects')
>> from mysite import settings

Si ça fonctionne c'est que la résolution est correcte.

Je déploies des applications Django à tour de bras chez OVH en serveur dédié 
depuis longtemps sans aucun soucis, par contre j'utilise FastCGI mais le 
principe reste identique. Bref pas besoin d'hébergeur spécialisé, en général 
c'est surtout pour du mutualisé qu'on va vers ce genre de solution.

Si ça ne marche toujours pas, donne nous plus de détails (fichier *.wsgi, vhost 
apache, arborescence de où se trouve ton projet, etc..).

PS: en général on évite d'utiliser "settings.py" comme fichier de settings en 
production, on le réserve pour le développement et on en hérite dans un 
"prod_settings.py" (ou un autre nom si tu veux) où on y ajuste les settings 
nécessaires pour utiliser le projet en production.

-- 
Cordialement,
David THENON.

Le samedi 09 juin 2012 12:31:18, alastor a écrit :
> Bonjour à tous
> 
> Après avoir passé plusieurs jours à développer mon application Django,
> vient maintenant le temps de la déployer.
> J'ai donc suivi la doc afin de déployer mon site avec apache et mod_wsgi
> sur mo serveur dédié ovh
> (https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/)
> J'ai rencontré pas mal de problèmes, que j'ai pu résoudre petit à
> petit.
> 
> Malheureusement le dernier en date me bloque :  lorsque j'essaie
> d'accéder à mon site, j'ai une erreur 500 "internal server error"
> En consultant le error_log j'ai une erreur : ImportError: Could not import
> settings 'mysite.settings' (Is it on sys.path? Does it have syntax
> errors?): No module named settings
> 
> J'ai pourtant :
> -bien installé python 2.7
> -bien installé django
> -Essayé depuis mon serveur un python manage.py runserver, et le serveur
> de test se lance correctement
> -Consulté une erreur semblable sur stackoverflow.com, mais la solution ne
> fonctionne pas pour moi
> (http://stackoverflow.com/questions/4755720/django-wsgi-import-setting-erro
> r-modeule-named-mysite-settings-not-found) -Essayé de boire une bière en
> regardant fixement mon écran
> 
> ... mais je bloque
> 
> 
> Du coup, je me demandais si quelqu'un a déja déployé une application
> django sur un dédié OVH via mod_wsgi, et aurait une doc des différentes
> étapes, ou quelques conseils à me donner...
> 
> Je sais qu'il existe des hébergeurs spécialisés (alwaysdata etc), mais
> j'aimerais vraiment faire fonctionner mon application sur mon dédié dans
> un premier temps
> 
> Merci beaucoup
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à