Installation, Dependencies and Compatibility

Dependencies

particles support

  • numpy www.numpy.org

audio support by SDL

  • in Windows, pygame http://www.pygame.org
  • in unix-like OSes libraries sdl 1.2 and sdl-mixer 1.2; in debian/ubuntu their packages are libsdl1.2 and libsdl-mixer1.2
  • in Mac, theres no confirmed info. Should be similar to unix.

What explicit dependencies are declared in the setup.py ? six, pyglet from hg repository

Compatibility

Compatibility notes at the time of writing, March 2014

  • python : cocos needs python 2.6, 2.7 or 3.3+ The cocos codebase has direct support for 2.x and 3.x, so no need to run 2to3

  • pyglet : pyglet 1.2 or better

    • In pypi the last pyglet is 1.1.4, from 2009
    • In pyglet’s googlecode downloads the last is an old 1.2alpha1 (2012)
    • It is recomended to use pyglet from repo at a revision near the tip.
    • For reference, this cocos release was tested with revision c7f948a848cb of pyglet, dated 2014 03 20

Installing

Have a modern setuptools or pip installed.

While:

easy_install cocos2d

or:

pip install cocos2d --process-dependency-links

should work, you will miss the docs and code samples. Its is therefore recommended to

  • download cocos2d-0.6.0.zip from https://pypi.python.org/pypi/cocos2d/

  • decompress to a convenient location, the top dir will be cocos2d-0.6.0

  • the html docs will be in cocos2d-0.6.0/doc/html

  • useful code samples will be in cocos2d-0.6.0/test, cocos2d-0.6.0/samples, cocos2d-0.6.0/utest

  • install by:

    cd cocos2d-0.6.0
    setup.py install
    

    or alternatively by pointing that directory from a .pth or PYTHONPATH

  • All of cocos should be usable now, with the possible exceptions

    • cocos particles
    • SDL audio backend
    • AVBin (pyglet) audio-video backend

If you want to add these, look at the dependencies section.

Using PYTHONPATH or .pth

It is safe to point a checkout of cocos from a .pth or PYTHONPATH both
in python 2.x and 3.x; the same checkout can be pointed at the same time from both pythons.

Remember that pyglet does python 3 compatibility by running 2to3 at install time, so while a pyglet checkout can be pointed from a .pth or PYTHONPATH in python 2.x, that will not work for python 3.