Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.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 ValueError:无法配置筛选器';需要“调试”false';:无法解析';django.utils.log.CallbackFilter';:没有名为CallbackFilter的模块_Python_Django - Fatal编程技术网

Python ValueError:无法配置筛选器';需要“调试”false';:无法解析';django.utils.log.CallbackFilter';:没有名为CallbackFilter的模块

Python ValueError:无法配置筛选器';需要“调试”false';:无法解析';django.utils.log.CallbackFilter';:没有名为CallbackFilter的模块,python,django,Python,Django,我正在使用Django设置一个简单的数据库,在运行“python manage.py syncdb”时出现上述错误 这是manage.py或my.db文件中的问题吗?如何解决的建议 编辑:添加完整回溯 Traceback (most recent call last): File "manage.py", line 14, in <module> execute_manager(settings) File "/Library/Python/2.7/site-packages/dj

我正在使用Django设置一个简单的数据库,在运行“python manage.py syncdb”时出现上述错误

这是manage.py或my.db文件中的问题吗?如何解决的建议

编辑:添加完整回溯

Traceback (most recent call last):

File "manage.py", line 14, in <module>
execute_manager(settings)
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 252, in fetch_command
app_name = get_commands()[subcommand]
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 101, in get_commands
apps = settings.INSTALLED_APPS
File "/Library/Python/2.7/site-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 139, in __init__
logging_config_func(self.LOGGING)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py", line 776, in dictConfig
dictConfigClass(config).configure()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/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.CallbackFilter': No module named CallbackFilter
回溯(最近一次呼叫最后一次):
文件“manage.py”,第14行,在
执行\u管理器(设置)
文件“/Library/Python/2.7/site packages/django/core/management/_init__.py”,第438行,在执行管理器中
utility.execute()
文件“/Library/Python/2.7/site packages/django/core/management/_init__.py”,第379行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/Library/Python/2.7/site packages/django/core/management/_init__.py”,第252行,在fetch_命令中
app_name=get_commands()[子命令]
文件“/Library/Python/2.7/site packages/django/core/management/_init__.py”,第101行,在get_命令中
应用程序=设置。已安装的应用程序
文件“/Library/Python/2.7/site packages/django/utils/functional.py”,第276行,在__
self.\u设置()
文件“/Library/Python/2.7/site-packages/django/conf/_-init___;.py”,第42行,在安装程序中
自包装=设置(设置模块)
文件“/Library/Python/2.7/site packages/django/conf/_init__.py”,第139行,在_init中__
日志记录\配置\函数(self.logging)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py”,第776行,在dictConfig中
dictConfigClass(config).configure()
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py”,第562行,在configure中
'筛选器%r:%s'(名称,e))
ValueError:无法配置筛选器“require_debug_false”:无法解析“django.utils.log.CallbackFilter”:没有名为CallbackFilter的模块

您是否尝试重新安装django?如果不是,我认为这是一个开始使用虚拟环境的大好机会

中有一个名为CallbackFilter的类

/usr/local/lib/python2.6/dist-packages/django/utils/dictconfig.py

事实上,您无法阅读它,这意味着您的python_路径不在那里,或者配置不好,但由于您可以阅读其他django内容,因此情况可能并非如此。

请仔细检查您拥有的是不是最新的,因为这是django中的一个错误

为了避免这种情况,我建议使用virtualenv:

如果您拥有最新版本,但仍面临此问题,请更新此错误:

该漏洞还有一个简单的解决方案:

不工作)并强制所有人复制/粘贴默认日志片段 他们的设置

回答由django开发者andreas_pelme发布,这不是一个bug,如果安装了正确版本的django,它应该可以正常工作

~ $ mkvirtualenv t16568-regression
New python executable in t16568-regression/bin/python
Installing setuptools............done.
Installing pip...............done.
virtualenvwrapper.user_scripts creating /Users/andreas/.virtualenvs/t16568-regression/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/andreas/.virtualenvs/t16568-regression/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/andreas/.virtualenvs/t16568-regression/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/andreas/.virtualenvs/t16568-regression/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/andreas/.virtualenvs/t16568-regression/bin/get_env_details
[t16568-regression] ~ $ pip install django==1.3.1
Downloading/unpacking django==1.3.1
  Downloading Django-1.3.1.tar.gz (6.5Mb): 6.5Mb downloaded
  Running setup.py egg_info for package django

Installing collected packages: django
  Running setup.py install for django
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755

    changing mode of /Users/andreas/.virtualenvs/t16568-regression/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
[t16568-regression] ~ $ cd code/
[t16568-regression] ~ $ django-admin.py startproject foo
[t16568-regression] ~ $ cd foo/
[t16568-regression] ~/foo $ python manage.py shell

In [1]: import django; django.get_version()
Out[1]: '1.3.1'
我也有同样的问题

转到您的settings.py并查找日志记录设置

LOGGING = {

'version': 1,

'disable_existing_loggers': False,

'filters': {

    'require_debug_false': {

        '()': 'django.utils.log.CallbackFilter',

        'callback': lambda r: not DEBUG

    }

},

看到那边的呼叫过滤器了吗?删除整个“过滤器”键。这是因为我试图在两个不同的Django版本中使用相同的settings.py文件。如果使用djangoadmin.py startproject,您将获得一个有效的settings.py文件。

我也遇到了同样的问题,在我的例子中,这是由于使用sudo运行manage.py,而sudo忽略了virtual env。这个问题有一个解决方案。

我找到了问题的答案。如果我们使用了EclipsePydev并将项目创建到eclipse中,那么我们的项目结构就不正确

为了解决这个问题,我们需要在命令行中使用manage.py startproject myprojectname创建项目,在eclipse中创建新的Django项目,并通过命令行工具使用已创建的项目指定较旧的项目

致以最良好的祝愿,
安东。

我也有同样的问题。我想说问题的根源是您的“setting.py”是使用与当前版本不同的Django版本创建的。如果您不知道自己的版本,我建议您启动一个新项目,以便在当前Django版本中使用setting.py

如果您知道用于创建项目的Django版本,那么可以使用下一个命令(例如Django版本1.4.5)轻松地再次安装它


我希望这能有所帮助。

这会很奇怪,但也有可能。如果我是你,我会再次下载django并重新安装。请将错误放在问题正文中,并给问题一个更好的标题。正如第一个答案所说,我还强烈建议您使用virtualenv+burrito进行任何类型的python开发。您使用的是什么版本的django?请分享完整的traceI重新打开的bug,因为在安装了1.3.1之后,它仍然显示在一个简单的
python manage.py shell中
好吧,我不想成为一个痛苦,但这对我来说意义不大。我唯一能理解的是他做新项目的地方。我找到了global_settings.py,但没有任何关于需要调试的内容。因此,这里是我的2个要点:所有的框架最初可能听起来“令人讨厌”,但这是你的学习曲线。花点时间,试着找出解决办法。这将使你成为一名更好的程序员。交换框架对你没有帮助。请使用virtualenv。按照下面的步骤安装和使用virtualenv:我保证我不会剪切和运行。我很想知道背后的一切,但实际上我关心的是把事情做完。到目前为止,我得到的大多数建议只是我下载了更多的东西。我只想编码!virtualenv的用途是什么?如果在更复杂的设置中覆盖了
DEBUG
的最终值,则它的缺点是不使用该值。
LOGGING = {

'version': 1,

'disable_existing_loggers': False,

'filters': {

    'require_debug_false': {

        '()': 'django.utils.log.CallbackFilter',

        'callback': lambda r: not DEBUG

    }

},
pip install Django==1.4.5