Django python Невозможно импортировать FunctionType из типов модулей

Я пытаюсь использовать каналы django и asgi для запуска простого сервера чата. У меня установлены каналы и дафна, но когда я пытаюсь запустить сервер разработки, я получаю следующую ошибку.

Unhandled exception in thread started by <function wrapper at 0x1062fdc80>
Traceback (most recent call last):
  File "/Users/yash/code/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
     fn(*args, **kwargs)
  File "/Users/yash/code/lib/python2.7/site-packages/channels/management/commands/runserver.py", line 63, in inner_run
     "layer": self.channel_layer,
  File "/Users/yash/code/lib/python2.7/site-packages/channels/asgi.py", line 86, in __str__
      return "%s (%s)" % (self.alias, name_that_thing(self.channel_layer))
  File "/Users/yash/code/lib/python2.7/site-packages/channels/utils.py", line     25, in name_that_thing
      return name_that_thing(thing.__class__)
  File "/Users/yash/code/lib/python2.7/site-packages/channels/utils.py", line     16, in name_that_thing
      if hasattr(thing, "__class__") and not isinstance(thing, (types.FunctionType, types.MethodType)):
  AttributeError: 'module' object has no attribute 'FunctionType'

Я проверил последний файл и обнаружил, что ошибка связана с модулем типов. строка import types работала нормально, но когда скрипт пытается вызвать types.FunctionType, он выдает AttributeError. Когда я импортировал скрипт в оболочку, он работал, как и ожидалось.

Любая помощь приветствуется. :)

ИЗМЕНИТЬ print(types) выходных данных: <module 'types' from '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/types.pyc'>

EDIT 2 Я начал другой проект django с каналами, клонировал репозиторий из github. Когда я запустил сервер разработки после установки зависимостей, он работал отлично. Файл утилиты каналов точно такой же, поэтому любая помощь, объясняющая это, поможет.


person Superman    schedule 27.11.2016    source источник
comment
Можешь сделать print(types) и показать результат?   -  person knbk    schedule 27.11.2016
comment
@knbk я опубликовал результат   -  person Superman    schedule 28.11.2016


Ответы (1)


Я просматривал другие вопросы StackOverflow и обнаружил распространенную ошибку в сценариях Python, когда файл с неправильным именем вызывал ошибку импорта. Я посмотрел в каталоге установки канала и нашел файл с именем types.py и изменил его на typer.py, и программа заработала как обычно. Спасибо за помощь.

person Superman    schedule 28.11.2016