2011-12-06 19 views
9

を蹴る、私は次のエラーを取得する:ジャンゴのsudoの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のバグに関連する可能性があることがわかりました。しかし、私はvirtualenvでDjango 1.4 pre-alphaを実行しています。

私がsudoコマンドを必要とする理由は、私がsudoを必要とするポート80からサーバーを実行しようとしているからです。

答えて

15

manage.pysudoで実行すると、アクティブな仮想envは使用されません。おそらく、virtualenvの外に別のバージョンのdjangoがインストールされている可能性があります。あなたはvirtualenvのからPythonの実行可能ファイルを使用して実行することができます

、すなわち:

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

あなたはvirtualenvのからPythonの実行ファイルのパスを取得することができます

$ which python 
+2

bmihelacが言うとおりに。 Super9では、仮想環境からDjangoを実行していないことをスタックトレースで確認できます。システム全体のパスにあるDjangoを実行しています。 RequireDebugFalseはおそらくあなたの1.4のvirtualenvでのみ利用可能です。 – benjaoming