Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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
Python Heroku上的Django manage.py自定义命令_Python_Django_Python 2.7_Heroku_Django Manage.py - Fatal编程技术网

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

Python Heroku上的Django manage.py自定义命令,python,django,python-2.7,heroku,django-manage.py,Python,Django,Python 2.7,Heroku,Django Manage.py,我正在尝试运行一个由Heroku托管的网站的cron作业。我正在使用Django后端。我编写了一个在本地工作的自定义manage.py命令(status_crawl.py)。我已经看到了一些关于如何解决这个问题的指南和帖子,但是这些建议不起作用(比如和) 更奇怪的是,它正在识别其他命令。(我通过使用django扩展框架中的runscript成功地完成了基本任务)。尽管如此,它仍然困扰着我 我的基本文件结构如下: likes: ... management: __init

我正在尝试运行一个由Heroku托管的网站的cron作业。我正在使用Django后端。我编写了一个在本地工作的自定义manage.py命令(status_crawl.py)。我已经看到了一些关于如何解决这个问题的指南和帖子,但是这些建议不起作用(比如和)

更奇怪的是,它正在识别其他命令。(我通过使用django扩展框架中的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
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/app/.heroku/python/lib/python2.7/site packages/django/core/management/\uu init\uu.py”,第453行,从命令行执行
utility.execute()
文件“/app/.heroku/python/lib/python2.7/site packages/django/core/management/_init__.py”,第392行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/app/.heroku/python/lib/python2.7/site packages/django/core/management/_init__.py”,第272行,在fetch_命令中
klass=加载命令类(应用程序名称,子命令)
文件“/app/.heroku/python/lib/python2.7/site packages/django/core/management/_init__.py”,第77行,在load_命令类中
模块=导入模块(“%s.management.commands.%s%”(应用程序名称,名称))
文件“/app/.heroku/python/lib/python2.7/site packages/django/utils/importlib.py”,第35行,在导入模块中
__导入(名称)
ImportError:没有名为commands.status\u crawl的模块
另一件奇怪的事情是,当我运行“heroku run python manage.py help”时,命令显示为一个选项。当我尝试自己使用manage.py命令运行脚本时,它没有运行


谢谢

可能与Heroku上的PYTHONPATH变量有关。Heroku上的此变量可能与本地Python路径不同。尝试从项目的根目录导入,如:

from likes.management.commands import status_crawl

你在使用Python3吗?我在使用Python2.7。