Upgrading a CKAN install from Python 2 to Python 3

These instructions describe how to upgrade a source install of CKAN 2.9 from Python 2 to Python 3, which is necessary because Python 2 is end of life, as of January 1st, 2020.


  • Backup your CKAN source, virtualenv and databases, just in case.

  • Upgrade to CKAN 2.9, if you’ve not done already.


You’ll probably need to deactivate your existing virtual environment:


The existing setup has the virtual environment here: /usr/lib/ckan/default and the CKAN source code underneath in /usr/lib/ckan/default/src. We’ll move that aside in case we need to roll-back:

sudo mv /usr/lib/ckan/default /usr/lib/ckan/py2

From this doc: Installing CKAN from source you need to do these sections:

    1. Install the required packages

    1. Install CKAN into a Python virtual environment

    1. Link to who.ini


For changes about CKAN deployment see: Installing CKAN from source and specifically the changes with CKAN 2.9: Deployment changes for CKAN 2.9.