python - Heroku 上的 Django manage.py 自定义命令

标签 python django python-2.7 heroku django-manage.py

我正在尝试使用 Heroku 托管网站运行 cron 作业。我正在使用 Django 后端。我编写了一个在本地运行的自定义 manage.py 命令 (status_crawl.py)。我看过一些关于如何解决这个问题的指南和帖子,但这些建议没有用(例如 Running Django custom manage.py task on Heroku - Importing Issuesthis guide )。

更奇怪的是它正在识别其他命令。 (而且我设法通过使用 django-extensions 框架中的 runscript 来完成基本任务)。尽管如此,它仍然困扰着我。

我的基本文件结构如下:

 likes:
   ...
   management:
      __init__.py
      commands:
      __init__.py
      status_crawl.py

回溯是:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
    utility.execute()
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
ImportError: No module named commands.status_crawl

另一件奇怪的事情是,当我运行“heroku run python manage.py help”时,该命令显示为一个选项。当我尝试使用 manage.py 命令自己运行脚本时,它只是没有运行。

谢谢!

最佳答案

可能与您在 Heroku 上的 PYTHONPATH 变量有关。 Heroku 上的这个变量可能与您本地的 PYTHONPATH 不同。尝试从项目的根目录导入,例如:

from likes.management.commands import status_crawl

关于python - Heroku 上的 Django manage.py 自定义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19087398/

相关文章:

python - 如何确保输入键没有被输入到密码中

python - 为什么 .count() 在带有 | 的 peewee 查询中返回错误的数字(联盟)?

python - 在 Python 中使用 g++ 和子进程

python - django 中的自定义用户模型

jquery - 如何以 ajax 形式将 Django 媒体 javascript 即时添加到小部件中?

python - 这些对在 dblquad 中返回固定值的函数的频繁调用是否可以避免?

python - 将模型分成不同的类别?

python - 我有一个列表,其中包含更多字典,想要删除其中一个,但该字典是动态的

jQuery Mobile 不加载新页面脚本

python - 将文件路径转换为 ​​URL