django sudo runserver踢错了

sup*_*er9 9 django

当我尝试运行时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
Run Code Online (Sandbox Code Playgroud)

跑步./manage.py runserver非常好.

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

我需要sudo命令的原因是因为我正在尝试从端口80运行服务器,这需要sudo.

bmi*_*lac 15

当您运行manage.pysudo它不使用激活的虚拟ENV.最有可能的是,你在virtualenv之外安装了另一个版本的django.

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

$ sudo /home/USER/.virtualenvs/YOUR_PROJECT/bin/python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

你可以从virtualenv获得python可执行文件路径:

$ which python
Run Code Online (Sandbox Code Playgroud)

  • 正如bmihelac所说的那样.Super9,您可以在堆栈跟踪中看到您没有从虚拟环境执行Django.您正在执行系统范围内的Django.RequireDebugFalse可能仅适用于您的1.4 virtualenv. (2认同)