Efforts to port calibre to python 3 are ongoing. calibre can be run using python3 under Linux. To do so, install python 3, checkout calibre from source with git clone git@github.com:kovidgoyal/calibre.git && cd calibre Then, setup calibre to run under python2, with: python2 setup.py bootstrap Check that calibre works, with: python2 run-local calibre Now build the calibre C extensions for python 3 with: CALIBRE_PY3_PORT=1 python3 setup.py build You should now be able to run the calibre test suite using: CALIBRE_PY3_PORT=1 python3 setup.py test And run calibre itself (which may not work) with: python3 run-local calibre For the status of the port, and discussion of its design, see https://github.com/kovidgoyal/calibre/pull/870