stephenmcd/django-socketio

No module named importlib

Closed this issue · 6 comments

When I went to initialize the sqlite database for the chat example with:

./manage.py migrate --run-syncdb

I received the error:

Traceback (most recent call last):
  File "./manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/base.py", line 398, in execute
    self.check()
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/base.py", line 426, in check
    include_deployment_checks=include_deployment_checks,
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/checks/registry.py", line 75, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/checks/urls.py", line 10, in check_url_config
    return check_resolver(resolver)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/checks/urls.py", line 19, in check_resolver
    for pattern in resolver.url_patterns:
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/local/myproject/src/ros/ros_homebot_telepresence/src/urls.py", line 12, in <module>
    url("", include("django_socketio.urls")),
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 52, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django_socketio/urls.py", line 4, in <module>
    from django.utils.importlib import import_module
ImportError: No module named importlib

Is this a bug or did I misconfigure something?

The pip installation defaulted to Django 1.9. Does Django-socketio support this version?

Actually, it looks like this question was answered here and it seems Django 1.9 is not supported.

This answer shows how to fix this error in your code.

Duplicate of #79

@chrisspen I couldn't fix the issue, i would be grateful if you explain how you did it =)

@MikeSoft, What do you mean? All I did was copy and paste the snippet from that SO answer to fix the import. Django 1.9 removed backwards compatibility for some deprecated imports.

@chrisspen i tried use the import fix, but It doesn't work to use this library =(

It's working for me. I merged a bunch of fixes in my own fork, which is currently in a pull request, but will likely not be merged for some time. Try that.

https://github.com/chrisspen/django-socketio