我想启动一个脚本,它使用我的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'
答案 0 :(得分:2)
您应该了解django custom commands。
然后执行:python manage.py your_custom_command args
相反:python /home/myname/proj/ext_scripts/my_django_script.py args