Failed building wheel for twisted

I made virtualenv, new blank django project and I want to install Channels. I use Python 3.6.3. I typed pip install -U channels and this is OUTPUT:

...
Failed building wheel for twisted
...
Command "/home/marcin/Documents/django_projects/channels/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ic8ux9ei/twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ox6bclm5-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/marcin/Documents/django_projects/channels/include/site/python3.6/twisted" failed with error code 1 in /tmp/pip-build-ic8ux9ei/twisted/

pip list OUTPUT:

...
Django (1.11.6)
...
pip (9.0.1)
...
setuptools (36.6.0)
...
wheel (0.29.0)
...

I see that I don't have Twisted, so I typed:pip install twisted. This is OUTPUT:

...
 Failed building wheel for twisted
...
Command "/home/marcin/Documents/django_projects/channels/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-a54n37_z/twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-9p23ehnv-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/marcin/Documents/django_projects/channels/include/site/python3.6/twisted" failed with error code 1 in /tmp/pip-build-a54n37_z/twisted/

As You can see the Outputs are almost the same. How can I install Channels?


The error message is not particularly helpful but it seems you are missing the python3.6-dev package, which is installed using apt:

sudo apt update
sudo apt install python3.6-dev

After this, repeat your installation using pip as before.


You also need to the build-essential package if it hasn't been installed already. The complete install command is:

sudo apt-get install build-essential python3.6-dev