2010-01-02 8 views
1

J'ai une configuration simple avec mes bibliothèques python dans /domains/somedomain.com/libs/ et tous mes tests fonctionnent bien. Je commence WSGI avec DJANGO_SETTINGS_MODULE à "somedomain.settings" où somedomain est un paquet dans libs/Comment Django + mod_wsgi affecte-t-il le chemin python?

Soudainement, lors de l'ajout de pywapi.py dans libs/je ne peux pas l'importer quand j'accepte le site. Mais, si j'ajoute 'import pywapi' à mon script wsgi, il échoue lorsqu'il est touché par Apache, mais il réussit si je l'écris. le WSGI lui-même ajoute réellement des libs/au chemin, donc je sais qu'il devrait être là quand il s'exécutera. Le chemin est absolu aussi, donc tout changement dans CWD ne devrait pas causer cela.

Je ne peux pas penser à autre chose et j'ai bricolé avec elle la moitié de mon matin par ailleurs productif.

Répondre

2

Je pense que le problème est lié aux autorisations de ce fichier. Vérifiez que l'utilisateur exécutant wsgi (utilisateur apache, généralement) est capable de lire et d'écrire tout ce qui se trouve dans le dossier libs et est capable de lire le fichier pywapi.py.

+0

Le paquet original a été archivé avec 0300 et l'utilisateur de www ne pouvait pas le lire. Je n'y ai pas pensé, parce que normalement, j'attends ces permissions sur un nouveau paquet. Merci! – ironfroggy

+3

+1: C'est toujours les permissions. Quand ce n'est pas des permissions, alors c'est le chemin. Quand ce n'est pas le chemin, ce sont des bogues logiques triviaux. Quand ce ne sont pas des bogues logiques triviaux, c'est dur. –

Questions connexes