Django:运行任何manage.py命令时记录模块出错

rfo*_*ong 2 python django module pip

OSX,Python 2.7,pip,virtualenv.多年来一直使用这些没有问题.

我不确定是什么改变了,但是最近我的环境在完成了一段时间的完美处理之后完全破坏了Django.同样的结帐在我朋友的电脑上运行正常,设置类似.

我已经尝试过的事情:删除我的venv并使用requirements.txt中的全新安装创建一个新的venv,卸载venv外部的日志并重新安装内部,重新安装pip.

我为任何manage.py命令获得了相同的回溯.它似乎与日志记录模块有关:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/core/management/__init__.py", line 453, in     execute_from_command_line
    utility.execute()
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/core/management/__init__.py", line 376, in execute
    sys.stdout.write(self.main_help_text() + '\n')
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/core/management/__init__.py", line 242, in main_help_text
    for name, app in six.iteritems(get_commands()):
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/core/management/__init__.py", line 109, in get_commands
    apps = settings.INSTALLED_APPS
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/conf/__init__.py", line 52, in __getattr__
    self._setup(name)
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/conf/__init__.py", line 48, in _setup
    self._configure_logging()
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/conf/__init__.py", line 75, in _configure_logging
    logging_config_func(DEFAULT_LOGGING)
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/utils/dictconfig.py", line 555, in dictConfig
    dictConfigClass(config).configure()
  File "/Users/rfong/Dropbox/code/lattis_workspace/lattis_repo/venv/lib/python2.    7/site-packages/django/utils/dictconfig.py", line 323, in configure
    del logging._handlerList[:]
AttributeError: 'module' object has no attribute '_handlerList'
Run Code Online (Sandbox Code Playgroud)

lat*_*ere 5

看来你安装了过时0.4.9.6版本的日志模块,大概有pip.python 2.7附带的正确版本是0.5.1.2,我认为在你的情况下可能位于/Library/Python/2.7/lib/logging.可以从python svn上传正确的版本.

如果使用pip,则始终可以找出安装的模块版本

$ pip freeze
Run Code Online (Sandbox Code Playgroud)

要确保安装了正确版本的软件包,请使用以下语法:

$ pip install <package>==<version>
Run Code Online (Sandbox Code Playgroud)

这将为您节省大量的痛苦和努力,几乎是生产环境的必需品.