Migrating to a newer python version: best practices for updating all our stuff?

Antal Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Neuron, Dataiku DSS Adv Designer, Registered, Neuron 2023 Posts: 85 Neuron

Hi everyone,

I'd like to pick your brains on something.

Up until now, we've been developing using Python3.7. As 3.7 is going out of support in June, the IT team has instructed us to migrate to Python3.8 before July as they will remove 3.7 from the servers then.

That introduces very tedious work for us in creating new code envs and testing and updating all our code, plugins and deployments on Automation and API nodes. And that work will only increase when Python3.8 eventually goes out of support and we have to migrate again.

What are your best practices and experiences with migration paths such as this? Are there convenient ways to automate this process at least partially?

Operating system used: Windows



  • Ignacio_Toledo
    Ignacio_Toledo Dataiku DSS Core Designer, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 411 Neuron

    Hi @Antal

    It is a nice question, and currently we don't have a best practice in place.

    For us, though, I think the migration load would be distributed around all the different project owners, who are also owners of the python environments they use. This is what happened when we migrated from python 2.7 to python 3.6, but we didn't have many projects yet in DSS, and the number of environments was also small. So, we didn't have a need to automatize the process.

    Have you thought about using the dataiku api?

    Link: https://doc.dataiku.com/dss/latest/python-api/code-envs.html

    At least that could help with a part of the automation process.

    I'd love to hear about others experiences as well.

Setup Info
      Help me…