【问题标题】:Django management task won't work on CentOS in crontab or outside project directoryDjango 管理任务在 CentOS 上的 crontab 或项目目录外不起作用
【发布时间】:2011-08-29 18:22:33
【问题描述】:

在我的本地机器 (Mac OSX 10.6) 上,我编写了一个 django 自定义管理命令,效果很好。我可以在我的项目目录内外使用它。由于某种原因,在我的 CentOS 5.6 服务器上,它无法在项目目录之外工作。这真的很烦人,因为在 cron 作业中使用这个自定义管理命令需要它从主目录运行。

简而言之:

当我运行“python ./manage.py scrape”或“python manage.py scrape”时,一切都很好。

当我运行“python /home/[username]/webapps/myproject/manage.py scrape”或“python myproject/manage.py scrape”时,我收到以下错误:

未知命令:'scrape'

键入“manage.py help”以了解用法。

在 CentOS 上,当我在项目目录中运行 manage.py help 时,scrape 显示为命令;但如果我在项目目录之外运行它,scrape 不会显示为有效命令。在 OS-X 上,无论我从何处运行 manage.py 帮助,scrape 都显示为有效命令。

知道如何解决这个问题吗?

【问题讨论】:

    标签: django centos5


    【解决方案1】:

    我知道 CentOS 附带 Python 2.4,所以您的代码是在 2.4 上运行还是您使用的是封闭环境,这通常可以通过正确添加 PYTHONPATH 来解决

    import sys
    print sys.path
    

    为初学者验证此类

    【讨论】:

    • 是的,python2.4 在 centOS 上运行,python2.6 在本地运行。我想这可能是导致问题的原因,但据我所知,python 是相当向后兼容的:regebro.wordpress.com/2010/02/12/… 然而,我只是注意到我在本地运行 django1.2.1,在服务器上运行 1.3.0。这会导致问题吗?
    【解决方案2】:

    这应该让您启动并运行:http://djangosnippets.org/snippets/374/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2012-01-22
      • 1970-01-01
      • 2014-02-03
      • 1970-01-01
      • 2014-01-09
      相关资源
      最近更新 更多