Error on "pip install -U channels" command using for otree (Running setup.py bdist_wheel for twisted ... error)

For a project using otree (http://otree.readthedocs.io/) I ran into some problems trying to install Channels in order to make use of real-time functionalities.

Because of the long output I tried to figure out the most important parts:

For full output see: https://jsfiddle.net/L4ccmr2k/1/

Red marked output & output considered relevant from my side:

1.

 Building wheels for collected packages: twisted
      Running setup.py bdist_wheel for twisted ... error

2.

creating build/temp.macosx-10.6-intel-3.6
      creating build/temp.macosx-10.6-intel-3.6/src
      creating build/temp.macosx-10.6-intel-3.6/src/twisted
      creating build/temp.macosx-10.6-intel-3.6/src/twisted/test
      /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/twisted/test/raiser.c -o build/temp.macosx-10.6-intel-3.6/src/twisted/test/raiser.o
      xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
      error: command '/usr/bin/clang' failed with exit status 1

      ----------------------------------------
      Failed building wheel for twisted
      Running setup.py clean for twisted
    Failed to build twisted
    Installing collected packages: twisted, daphne, channels
      Running setup.py install for twisted ... error
        Complete output from command /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/6_/30pgp_bj17j3krgq_kt0py440000gn/T/pip-build-v4kcayoj/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 /var/folders/6_/30pgp_bj17j3krgq_kt0py440000gn/T/pip-vpnlc5lo-record/install-record.txt --single-version-externally-managed --compile:

3.

creating build/temp.macosx-10.6-intel-3.6
    creating build/temp.macosx-10.6-intel-3.6/src
    creating build/temp.macosx-10.6-intel-3.6/src/twisted
    creating build/temp.macosx-10.6-intel-3.6/src/twisted/test
    /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/twisted/test/raiser.c -o build/temp.macosx-10.6-intel-3.6/src/twisted/test/raiser.o
    xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
    error: command '/usr/bin/clang' failed with exit status 1

    ----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/6_/30pgp_bj17j3krgq_kt0py440000gn/T/pip-build-v4kcayoj/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 /var/folders/6_/30pgp_bj17j3krgq_kt0py440000gn/T/pip-vpnlc5lo-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/6_/30pgp_bj17j3krgq_kt0py440000gn/T/pip-build-v4kcayoj/twisted/

I'm using:

  • macOS 10.12.6
  • Python 2.7.10
  • wheel-0.30.0
  • pip 9.0.1 from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (python 3.6)
  • Django-1.8.8
  • Twisted-16.2.0
  • asgiref-0.14.0
  • autobahn-0.16.0
  • channels-0.17.3
  • otree-core-1.4.28
  • pytz-2016.6.1
  • six-1.10.0
  • txaio-2.5.1
  • wheel-0.29.0
  • zope.interface-4.2.0

Solution 1:

try running these commands

xcode-select --install xcode-select --switch /Applications/Xcode.app xcode-select --switch /Library/Developer/CommandLineTools

just to make sure your setup is properly applied