无法为每个脚本启动django(CronJob)

时间:2017-10-02 14:19:19

标签: python django pythonanywhere

我想启动一个脚本,它使用我的Django项目和一个首先启动虚拟环境的python脚本。

FYI 设置文件与项目文件夹proj的名称相同。

我写了一些脚本来启动这个脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-
activate_this = '/home/myname/virtualenvs/proj/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

import sys
import subprocess

path = '/home/myname/proj'
if path not in sys.path:
    sys.path.append(path)

subprocess.Popen(['python', '/home/myname/proj/ext_scripts/my_django_script.py'] + sys.argv[1:])

实际脚本像这样导入

...
import time
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings")
django.setup()
...

返回

ImportError: No module named 'proj'  

1 个答案:

答案 0 :(得分:2)

您应该了解django custom commands

然后执行python manage.py your_custom_command args

相反python /home/myname/proj/ext_scripts/my_django_script.py args