django チャネルと asgi を使用して単純なチャット サーバーを実行しようとしています。チャネルと daphne をインストールしましたが、開発サーバーを実行しようとすると、次のエラーが発生します。
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'
最後のファイルをチェックアウトしたところ、エラーが types モジュールにあることがわかりました。行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からリポジトリを複製しました。依存関係をインストールした後に開発サーバーを実行すると、完全に機能しました。チャネルの utils ファイルはまったく同じなので、これを説明する助けがあれば役立ちます。