[CentralOH] Python DLL Heck: django channels confusion

jep200404 at columbus.rr.com jep200404 at columbus.rr.com
Wed May 11 19:01:55 EDT 2016


Here's one trap to know about and avoid.

On Wed, 11 May 2016 16:23:51 -0400, jep200404 at columbus.rr.com wrote:

>     django-channels
>         much dox
>         (does _not_ require autobahn)

I stated at lunch that django channels had autobahn as a dependency,
but I could not replicate that after lunch, then later I could.

Something was not making sense.

There are two different packages with enough similarities to confuse. 

    Each is imported as channels.
    Each is for django.
    Both have docs on readthedocs.
        Django Channels
        django-channels
    Their names are both include 'channels'.

Now that you know that there are two similar named packages,
you can figure out which one you care about
if you ever have to deal with such stuff.
Some details on them follow.

channels

    https://pypi.python.org/pypi/channels/
    http://channels.readthedocs.io/en/latest/

        Django Channels

        Channels is a project to make Django able to handle more than just
        plain HTTP requests, including WebSockets and HTTP2, as well as the
        ability to run code after a response has been sent for things like
        thumbnailing or background calculation.

    https://github.com/andrewgodwin/channels

    (env) pi at raspberrypi:~/a $ pip freeze
    (env) pi at raspberrypi:~/a $ pip install channels
    ...
    (env) pi at raspberrypi:~/a $ pip freeze
    Django==1.9.6
    Twisted==16.1.1
    asgiref==0.13.0
    autobahn==0.14.0
    channels==0.13.0
    daphne==0.12.0
    six==1.10.0
    txaio==2.5.1
    zope.interface==4.1.3
    (env) pi at raspberrypi:~/a $ python
    Python 3.4.2 (default, Oct 19 2014, 13:31:11)
    [GCC 4.9.1] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import channels
    >>>
    (env) pi at raspberrypi:~/a $

django-channels

    https://pypi.python.org/pypi/django-channels/
    http://django-channels.readthedocs.io/en/latest/

        django-channels

        django-channels is a Django library for sending notifications.
        HipChat, Slack, Twitter, and Yo are supported for now.

    https://github.com/ymyzk/django-channels

    (env) pi at raspberrypi:~/a $ pip freeze
    (env) pi at raspberrypi:~/a $ pip install django-channels
    ...
    (env) pi at raspberrypi:~/a $ pip freeze
    django-channels==0.6.0
    oauthlib==1.1.1
    requests==2.10.0
    requests-oauthlib==0.6.1
    six==1.10.0
    (env) pi at raspberrypi:~/a $
    (env) pi at raspberrypi:~/a $ python
    Python 3.4.2 (default, Oct 19 2014, 13:31:11)
    [GCC 4.9.1] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import channels
    >>>
    (env) pi at raspberrypi:~/a $


More information about the CentralOH mailing list