【问题标题】:Python3 Runserver TypeError {newbie}Python3 Runserver TypeError {新手}
【发布时间】:2013-11-18 01:26:58
【问题描述】:

我是 Python 新手,但我已经到处寻找这个问题的答案。不过好像每个人都不一样。我在 osx Mavericks,使用 Python 3.4 和 Django 1.7。

当我运行 python3 manage.py runserver 时,我没有得到任何服务器详细信息,而是得到了

TypeError: 'NoneType' object is not callable

这是我的回溯:

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/management/__init__.py", line 416, in execute_from_command_line
Validating models...

utility.execute()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/management/__init__.py", line 408, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/management/base.py", line 244, in run_from_argv
0 errors found
self.execute(*args, **options.__dict__)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/management/base.py", line 291, in execute
output = self.handle(*args, **options)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 76, in handle
self.run(*args, **options)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 85, in run
autoreload.main(self.inner_run, args, options)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/utils/autoreload.py", line 359, in main
reloader(wrapped_main_func, args, kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/utils/autoreload.py", line 325, in python_reloader
reloader_thread()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/utils/autoreload.py", line 304, in reloader_thread
if fn():
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/utils/autoreload.py", line 173, in kqueue_code_changed
watcher = tempfile.TemporaryFile(bufsize=0)
TypeError: TemporaryFile() got an unexpected keyword argument 'bufsize'
Exception ignored in: <bound method Signal._remove_receiver of  <django.dispatch.dispatcher.Signal object at 0x1022d1588>>
Traceback (most recent call last):
 File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site packages/django/dispatch/dispatcher.py", line 276, in _remove_receiver
 TypeError: 'NoneType' object is not callable

有什么想法吗?

【问题讨论】:

  • Django 尚不支持 Python 3.4
  • Django 1.7 仍在大力开发中;你为什么用那个版本?不是说 1.7 还支持 Python 3.4。
  • 我最初使用的是 Python 2.7,但因为我正在运行 Mavericks,所以我不断收到此错误 Segmentation fault: 11。我在另一个线程上看到 Python3x 修复了这个问题。

标签: python django


【解决方案1】:

如果您不熟悉 Python 和 Django,请使用最新版本而不是开发版本。在撰写本文时,最新版本是 Django 1.6 和 Python 2.7 或 3.3。

我现在建议将 Python 2.7 与 Django 一起使用,因为您找到的大多数教程和博文都是针对 Python 2.X 的。

【讨论】:

  • 1.6 根本不支持 Python 3.4,
  • 1.7 也不值钱。
  • @MartijnPieters 我在上面的 cmets 中看到了您的警告,并希望通过坚持使用最新版本的建议来补充这一点,而不仅仅是重复您已经说过的话。我不熟悉 Python 3.4 的更改列表——在 Django 中有什么需要更改的吗?
  • 大家好,只是想对您的帮助表示感谢。我最终完全删除了python3,并重新安装了以前的版本(3.3)并将Django降级并卸载到1.5。
猜你喜欢
  • 2018-09-17
  • 1970-01-01
  • 2018-01-23
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多