Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图在需要DJANGO_设置_模块的python脚本中定义该模块时出现错误_Python_Linux_Django_Environment Variables - Fatal编程技术网

试图在需要DJANGO_设置_模块的python脚本中定义该模块时出现错误

试图在需要DJANGO_设置_模块的python脚本中定义该模块时出现错误,python,linux,django,environment-variables,Python,Linux,Django,Environment Variables,我正在处理一个django项目,我有一个名为runthis.py的独立脚本。这个脚本处理数据库中的数据,因此它调用了很多django模型类。喜欢从模型。模型导入模型。但要在独立脚本中执行此操作,必须使用export-DJANGO\u SETTINGS\u MODULE=App.SETTINGS设置DJANGO\u SETTINGS\u MODULE env变量。这可以很容易地在终端中完成,但我想在脚本本身中设置它 这是我的密码: # runthis.py import os os.system(

我正在处理一个django项目,我有一个名为runthis.py的独立脚本。这个脚本处理数据库中的数据,因此它调用了很多django模型类。喜欢从模型。模型导入模型。但要在独立脚本中执行此操作,必须使用export-DJANGO\u SETTINGS\u MODULE=App.SETTINGS设置DJANGO\u SETTINGS\u MODULE env变量。这可以很容易地在终端中完成,但我想在脚本本身中设置它

这是我的密码:

# runthis.py
import os
os.system("export DJANGO_SETTINGS_MODULE=App.settings")
from Model.models import Model # AN ERROR HAPPENS HERE
以下是我得到的错误:

django.core.exceptions.ImpropertlyConfigured:请求的设置 数据库,但未配置设置。您必须定义 环境变量DJANGO\u SETTINGS\u模块或调用 在访问设置之前,请先配置()

有什么提示吗?这背后的整个想法是runthis.py脚本需要在cron作业中。我不知道如何在crontab-e中导出env变量,所以我只想让它更方便,并将其放入.py脚本本身


任何建议都会非常好,谢谢。

使用操作系统。系统将创建一个单独的子shell。您设置了环境,但它立即消失,因为shell在运行一个命令后退出。尝试使用。(我对Django了解不够,不知道这是否真的有效;您可能需要在启动Python进程之前实际设置环境变量。)


此外,错误消息建议调用
设置。将
配置为备选方案。你试过了吗?

使用
os.system
创建一个单独的子shell。您设置了环境,但它立即消失,因为shell在运行一个命令后退出。尝试使用。(我对Django了解不够,不知道这是否真的有效;您可能需要在启动Python进程之前实际设置环境变量。)

此外,错误消息建议调用
设置。将
配置为备选方案。你试过了吗?

你想写一本书。“自定义管理命令对于运行独立脚本或从UNIX crontab或Windows scheduled tasks控制面板定期执行的脚本特别有用。”。“自定义管理命令对于运行独立脚本或从UNIX crontab或Windows计划任务控制面板定期执行的脚本特别有用。”