gpt4 book ai didi

python - 在外部 python 脚本中设置 sys 变量

转载 作者:行者123 更新时间:2023-12-01 05:59:15 24 4
gpt4 key购买 nike

我有一个在 cron 作业上运行的 python 脚本。该脚本使用相关门户网站的 django ORM 进行数据库调用。但是,我在从命令行运行脚本时遇到了困难。在脚本的顶部我有:

import sys
sys.path.append('/Users/david542/Desktop/project/')
from project.home.models import Title, Order

当我尝试运行脚本时:

  File "/Library/Python/2.7/site-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 40, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable
DJANGO_SETTINGS_MODULE is undefined

看来我需要在 python 脚本中设置 DJANGO_SETTINGS_MODULE 路径,但我到底该怎么做?

最佳答案

假设您的项目设置位于/Users/david542/Desktop/project/my_settings.py 中,您需要将 DJANGO_SETTINGS_MODULE 设置为“my_settings”,以便让 Django 知道它在哪里。

要设置变量,只需使用调用脚本即可

DJANGO_SETTINGS_MODULE=my_settings python /path/to/your/script.py

此外,我建议您不要在脚本中硬编码项目的路径,而是使用 PYTHONPATH 环境变量传递它,如下所示:

PYTHONPATH="/Users/david542/Desktop/project" DJANGO_SETTINGS_MODULE=my_settings python /path/to/your/script.py

干杯,

西蒙

关于python - 在外部 python 脚本中设置 sys 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com