J'ai essayé beaucoup de solutions pour résoudre ce problème,y compris l’utilisation des commandes de gestion personnalisées de django, des scripts python avec la configuration du chemin et la configuration de DJANGO_ENV_VAR, etc.
from django.db
ou
import django.utils
Voici un exemple d'une de mes traces d'erreur:
Traceback (most recent call last):
File "/home/username/webapps/folder/Project/scripts/standalone.py", line 29, in
<module> from Model.models import Model File "/home/username/webapps/folder/
Project/App/models.py", line 15, in <module> from django.db import models
ImportError: No module named django.db
Dans la crontab, j'ai suivi toutes les procédures générales. Toutes les configurations sont correctes, tous les scripts sont appelés avec leur chemin complet, c'est-à-dire. /usr/bin/python2.7 ou / usr / bin / sh.
Lorsque l'un de ces scripts est exécuté dans le shell et non dans crontab, cela fonctionne parfaitement: comme:
python2.7 manage.py killModels
ou
sh scrapper.sh >> log.log
Voici la crontab:
8,38,58 * * * * ~/webapps/Folder/apache2/bin/start
#*/1 * * * * /bin/sh ~/webapps/Folder/Project/scripts/unpack.sh >> ~/webapps/Folder/Project/logs/unpack.log 2>&1
*/25 * * * * ~/bin/indexer Model_Model --rotate --config
~/webapps/Folder/Project/misc/sphinx/sphinx.conf >> ~/webapps/Folder/Project/logs/searchd_log.txt
*/25 * * * * /bin/sh ~/webapps/Folder/Project/scripts/check_sphinx.sh >> ~/webapps/Folder/Project/logs/searchd_log.txt
0 2 * * * mysqldump --defaults-file=~/db_backups/Project_db.cnf -u Project_db Project_db > ~/db_backups/Project_db-`date +%Y%m%d`.sql 2>> ~/db_backups/cron.log
*/1 * * * * /usr/local/bin/python2.7 ~/webapps/Folder/Project/manage.py UpdateModels >> ~/webapps/Folder/Project/logs/unpack.log 2>&1
Quelqu'un a des idées? Merci.
Réponses:
1 pour la réponse № 1Remplacer:
*/1 * * * * /usr/local/bin/python2.7
~/webapps/Folder/Project/manage.py UpdateModels
>> ~/webapps/Folder/Project/logs/unpack.log 2>&1
par:
*/1 * * * * (cd ~/webapps/Folder/Project/;
/usr/local/bin/python2.7 manage.py UpdateModels)
>> ~/webapps/Folder/Project/logs/unpack.log 2>&1
Avec ce changement manage.py
serait capable de localiser les applications Django.