This is a typical Python library and is installed using pip

pip install xhtml2pdf


Tested are Python 2.7, 3.5, 3.6, 3.7 aand 3.8 at the moment. But support for Python < 3.6 will be dropped in the next release! Support for Python 3.9 is being worked on.

All additional requirements are listed in requirements.txt file and are installed automatically using the pip install xhtml2pdf method.

Development environment

  1. If you don’t have it, install pip, the python package installer

    sudo easy_install pip

    For more information about pip refer to

  2. I will recommend using virtualenv for development. This is great to have separate environment for each project, keeping the dependencies for multiple projects separated

    sudo pip install virtualenv

    For more information about virtualenv refer to

  3. Create virtualenv for the project. This can be inside the project directory, but cannot be under version control

    virtualenv --distribute xhtml2pdfenv --python=python2
  4. Activate your virtualenv

    source xhtml2pdfenv/bin/activate

    Later to deactivate use

  5. Next step will be to install/upgrade dependencies from requirements.txt file

    pip install -r requirements.txt
  6. Run tests to check your configuration

    -m unittest discover

    You should have a log with success status:

    Ran 108 tests in 1.372s