Alteryx Designer Desktop Knowledge Base

Definitive answers from Designer Desktop experts.

Python Upgrade 20.4

ShaanM
Alteryx Alumni (Retired)
Created

As we welcome the latest 20.4 release a big change is coming. 
 

We are upgrading the embedded Python version shipped with Alteryx. Currently Python 3.6, upgrading to Python 3.8 


Why I hear you ask? 

The latest version of Python helps address various Python security vulnerabilities found in prior versions of Python. 


How does it affect me? 

Due to the nature of Alteryx tool installers (.yxi packages), you may have incompatible Python references in the install directories of some after-market tools. If connectors or other tools you have installed begin to show issues, you will need to re-install the .yxi for each impacted tool.  Types of issues seen: Error statements may appear after workflow has ran, indicating tool has incompatibilities. 
 

  • Please note, if you have previously installed .yxi custom tools in a previous version of Alteryx, that tool will no longer function properly due to incompatible Python version references within the tool module dependencies. 
     

  • It is also possible that the tool will have Python module dependencies that are no longer compatible with the new Python version or use aspects of the Python language that are no longer supported with the new Python version.  


Will it affect workflows uploaded to the Server? 
 

Please ensure when upgrading Designer to 20.4 you also upgrade Server to 20.4 and corresponding tools. 
 

  • Different Designer and Server versions will not cause any issues if the .yxi reinstall was already carried out on Server. 
     

  • The workflow at its core references a tool name and tool version, not the Python version. 
     

  • However, if the tool was repackaged and the Python version updates, this would cause an issue as it does today. 
     

What happens if I want to downgrade back to 20.3?  
 

  • If you did not reinstall any Python tools, you should be able to revert to a prior state with no issues.  
     

  • Once you update Python tools, for downgrading you must continue to reinstall the tool(s) in 20.3 also.  

    Example for Salesforce tool: Upgraded from 20.3 to 20.4 (re-installed Salesforce Input tool). 
    To go back to 20.3. Reinstall 20.3 (you will need to re-install Salesforce Input tool again) 

 

What do I do if I have multiple installations of Alteryx on my machine? 
 

You could still have multiple installations and different versions of Alteryx. You may see Python-based tools that may not work on 20.4 until they are reinstalled. Once updated, they will no longer work for prior Alteryx versions (older than 20.4).


How do I fix errors so my workflow can run? 
 

  • If the tool did not require any update to be compatible with Python 3.8, you should only have to reinstall the .yxi package for the tool(s) impacted, and that should resolve the issue. Make sure to install the same version of the tool(s).
     

  • If this does not resolve the issue, then you should rename the tool directory and corresponding files, then reinstall the same tool with the same version (prior to reopening any workflows that use the tool.) 
     

  • You will need to do this for every tool, per machine, per install directory. If you are used to using a non-admin and admin install, you will want to make sure that you have updated all possible locations where the tool was placed.  
     

  • If the tool required any updates to resolve usage differences, dependency issues, or package with new .whl files, you will need to receive the new tool from the tool developer. (In most cases this will be a partner-built tool but could also be an older tool built by Alteryx, or even a tool you found on Community or Gallery.) 
     

Please note. 

  • Best practice - The recommended best practice is to remove the tool files completely and then reinstall the .yxi. Some tools may continue to work without taking this step, but we strongly advise that you follow this approach. 

 

Special note. 

You may see an issue with your Python code in the Python tool if you were using functionality that is no longer supported. You would need to update your code to be compatible with Python 3.8. Read more on how to complete this here
 

If you are a tool developer, read more on how to validate the tools that you build and share with other Alteryx users here

For any additional questions or concerns, please reach out to Alteryx Support