【问题标题】:django sudo runserver kicking up an errordjango sudo runserver 出现错误
【发布时间】:2011-12-06 15:38:24
【问题描述】:

当我尝试运行 sudo ./manage.py runserver 时,我收到以下错误:

Traceback (most recent call last):
  File "./manage.py", line 9, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 429, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 252, in fetch_command
    app_name = get_commands()[subcommand]
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 101, in get_commands
    apps = settings.INSTALLED_APPS
  File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 276, in __getattr__
    self._setup()
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 139, in __init__
    logging_config_func(self.LOGGING)
  File "/usr/lib/python2.7/logging/config.py", line 776, in dictConfig
    dictConfigClass(config).configure()
  File "/usr/lib/python2.7/logging/config.py", line 562, in configure
    'filter %r: %s' % (name, e))
ValueError: Unable to configure filter 'require_debug_false': Cannot resolve 'django.utils.log.RequireDebugFalse': No module named RequireDebugFalse

运行./manage.py runserver 运行良好。

做了一些挖掘,我发现这可能与 Django1.3 错误有关?但是,我在运行 Django 1.4 pre-alpha 的 virtualenv 中。

我需要 sudo 命令的原因是因为我试图从需要 sudo 的端口 80 运行服务器。

【问题讨论】:

    标签: django


    【解决方案1】:

    当您使用sudo 运行manage.py 时,它不会使用激活的虚拟环境。很可能,您在 virtualenv 之外安装了另一个版本的 django。

    您可以使用 virtualenv 中的 python 可执行文件运行,即:

    $ sudo /home/USER/.virtualenvs/YOUR_PROJECT/bin/python manage.py runserver
    

    你可以从 virtualenv 获取 python 可执行路径:

    $ which python
    

    【讨论】:

    • 正如 bmihelac 所说。 Super9,您可以在堆栈跟踪中看到您没有从虚拟环境中执行 Django。您正在执行系统范围路径中的 Django。 RequireDebugFalse 可能仅在您的 1.4 virtualenv 中可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多