8
votes

django + mod_wsgi sur virtualenv ne fonctionne pas

Je viens de terminer la configuration d'une application Django sur Virtualenv, le déploiement s'est bien passé en utilisant un script de tissu, mais le .WSGI ne fonctionne pas, j'ai essayé toutes les variations sur Internet mais pas de chance. Mon fichier .wsgi est: xxx

Je continue à obtenir la même erreur: xxx

mon environnement virtuel est activé / home / utilisateur / WebApps / kcdfweb mon application est /home/user/webapps/kcdf.web/relases/currente/project_name Mon fichier WSGI HOME / UTILISATEUR / WEBAPPS / KCDF.WEB / COMMUNIQUES / CURROCT / PROJET_NAME / APACHE / PROJECT_NAME.WSGI


0 commentaires

4 Réponses :


1
votes

Vous devez ajouter le répertoire deux à partir de votre fichier WSGI, donc au lieu de: xxx

vous devez avoir xxx

... Comme votre fichier WSGI est dans un répertoire appelé apache , dans votre dossier de projet.


1 commentaires

Essayé que cela ne fonctionnait pas, il pourrait être utile de noter que lorsque j'ai créé un exemple de projet Django en dehors du virtualenv et j'ai essayé de l'exécuter, j'ai eu: Jwesonga @ kcdf: ~ / Tester $ Exporter django_settings_module = testeur.Settings jwesonga @ kcdf: ~ / Testeur $ Django-Admin.py RunServer Erreur: Impossible d'importer des paramètres 'Tester.Settings' (est-ce sur sys.path? Cela a-t-il des erreurs de syntaxe?): Aucun module nommé Tester.Settings



0
votes

Si vous utilisez un virtualenv, vous devez l'activer dans le script WSGI pour définir correctement les chemins correctement. xxx


4 commentaires

Utilisation d'Activate_This.py dans mod_wsgi est découragé car il fait des trips avec Sys.Prefix qui peuvent techniquement causer des problèmes avec certains codes. Lire ' code.google.com/p/modwsgi/wiki/virtualenvironnements ' ' .


En outre, Activer_This est inutile. Tout ce que vous avez à faire est que Call Site.Anddsitedir () sur le site Virtualenv Site-Packages dir.


Non, Site.Addsityir () n'est pas toujours suffisant, surtout si vous n'avez pas utilisé --NO-Sites-Packages lors de la création de l'environnement virtuel. C'est parce que Site.Addsitessir () ajoute de nouveaux répertoires à la fin de Sys.Path et tout ce qui est dans l'installation de Python standard prime toujours. Le script est de réorganiser Sys.Path afin que de nouveaux répertoires sont à la suite du début et de la priorité. Allez lire la documentation mentionnée sur le site mod_wsgi.


Néanmoins, la documentation Modwsgi d'aujourd'hui indique toujours que Activate_Chis est mauvais et fournit une alternative que les réordeurs Sys.Path.



0
votes

Avez-vous un __ init __. py fichier dans votre répertoire "kcdf"? Sans que votre fichier de paramètres ne peut pas être importé.

Aussi, vous devriez appeler site.Anddsitessir () sur le répertoire des packages de site de Virtualenv, si vous prévoyez pouvoir importer des choses à partir du virtualV. Voir Mod_wsgi Docs pour plus de détails. Bien que si cela ne puisse même pas importer vos paramètres, je ne pense pas que ce problème est votre problème actuel.


0 commentaires

7
votes

Je vous recommanderais de regarder le docs pour utiliser virtualenv avec mod_wsgi. Ils offrent quelques approches alternatives pour accrocher à votre virtualenv, ce qui pourrait mieux fonctionner pour vous.


1 commentaires

Link Sous réserve de la pourriture.