Alteryx Embedded Python
Overview
The Alteryx platform contains an embedded version of Python to support multiple functions in the products. The version in Alteryx doesn't affect other versions that you might have installed on your machine. From time to time, Alteryx needs to upgrade that version of Python. You might see that version update reflected in the Jupyter Python tool and other tools that use the Alteryx Python SDK. Python-based data connectors include Salesforce, Google BigQuery, Microsoft Azure Data Lake Store, Microsoft Power BI, Microsoft OneDrive, and Microsoft Dynamics CRM.
Alteryx Python 兼容性
Alteryx 发行版 | 嵌入式 Python 版本 | 虚拟环境 |
---|---|---|
2024.1 和更高版本* | 3.10.13 | Conda |
2023.2 | 3.8.16 | Conda |
2020.4-2023.1 | 3.8.5 | Conda |
2019.3 – 2020.3 | 3.6.8 | Conda |
2019.3 之前 | 3.6.0 | 标准 |
*Alteryx 2024.1 版计划于 2024 年 5 月发布。
Python 3.10 Upgrade FAQ (2024.1 Alteryx Designer and Server Release)
Disclaimer
We will update this document monthly as more information becomes available.
This is a product initiative that upgrades Alteryx Designer and Server from Python v3.8.16 to Python v3.10.13. This is because Python no longer provides support for v3.8. Alteryx must follow to stay compliant with security measures. Security is paramount at Alteryx, and we must upgrade Designer to Python 3.10 by the 2024.1 release (early May 2024).
All customers who use Designer tools that rely on Python. This includes data connectors, partner-built SDK tools, custom-built SDK tools, Python and Jupyter tools, and Intelligence Suite tools.
Designer tools that rely on Python must be upgraded to work with Python 3.10.13 or they will not work in Designer and Server 24.1.
If you have a Python SDK tool in your workflow in a version prior to the 24.1 Alteryx release, that version of the SDK tool will not work with 24.1. To move forward, you need to...
Install a new version of the SDK tool that is compatible with 24.1.
Update your workflow to use the new version of the tool.
Republish the workflow to Alteryx Server.
Given that users might want to test workflows with upgraded tools, Server customers who prefer to test new workflows in a single sandbox environment might want to create a separate sandbox environment to test 24.1. With a separate environment, you can continue current workflow testing with existing tools (before you migrate to Production) and use the new environment to test new tools with 24.1. This is a necessary setup because 24.1 Python-based connectors don't work with earlier Alteryx versions and vice versa.
Yes, users of your custom tool will need to download and install the newest version of your tool after you complete the Python upgrade. You can post the newest version of your tool on Community Gallery or submit an update to Alteryx Marketplace, if applicable.
We will upgrade Designer’s Python version from 3.8.16 to 3.10.13 for the 2024.1 release, planned for May 2024. Because of this, we request that partners and customers upgrade their SDK tools to Python version 3.10.13 before they install Alteryx Designer 2024.1.
Step-by-step upgrade instructions on how to upgrade your tools to Python version 3.10.13 are available. Go to Instructions for Updating Custom Tool to Python 3.10.
If you have additional questions, please go to the Alteryx IO developer forum and post them there. We will also update this document regularly as more materials are available.
Python 3.8.5 Upgrade FAQ (2020.4 Alteryx Designer and Server Release)
The below FAQs are related to the upgrade to Python 3.8.5 associated with the 2020.4 Alteryx Designer and Server release.
If you have installed YXI custom tools in a previous version of Designer, that tool no longer functions properly due to incompatible Python version references within the tool module dependencies.
It is also possible that the tool has Python module dependencies that are no longer compatible or use aspects of the Python language that are no longer supported, with the new Python version.
Upgrade script:
We have provided an Embedded Python Upgrade Script so you can see a list of tools that might be impacted on your machine or server. This script can be used by Alteryx users as well as Server admins who are considering upgrading to 2020.4 (and future versions), or who have already upgraded and need assistance troubleshooting workflows containing Python SDK based tools.
If you have previously installed YXI custom tools and upgraded to Designer 20.4, an error message alerts you to the issue, and you can't run a workflow that contains that tool.
This affects workflows on all Alteryx products.
Please take an inventory of all the tools and versions you have. There are two file paths to find this information, depending on your installation.
For elevated installations (running as an administrator), navigate to Program Data (hidden) > Alteryx > Tools.
For non-elevated installations, navigate to Users > [User] > App Data (hidden) > Roaming > Alteryx > Tools.
There are six Python-based data connectors: Salesforce, Google BigQuery, Microsoft Azure Data Lake Store, Microsoft Power BI, Microsoft OneDrive, and Microsoft Dynamics CRM. This ensures that you keep track of which version you will need to re-install. While all data connectors may not fail, we highly recommend that you re-install every version of every connector that has active workflows.
If a tool doesn't require any update to be compatible with Python 3.8, take note of the specific tool version and location. Make sure you can locate the YXI package for the tool prior to deleting the tool since this process requires re-installing the tool package. Then, we recommend that you delete the tool directory and its files, then reinstall the YXI for the tool. Before reinstalling the YXI, do not open any workflows that use the tool because it could cause unknown behavior in the workflow.
Some tools might continue to work without taking this step, but we strongly recommend that you follow the instructions we've provided here.
You have to follow those instructions for each tool on each machine, for each install directory. If you use non-admin and admin installations, make sure you have updated all possible locations where the tool exists.
If a tool requires any updates to resolve usage differences, dependency issues, or packages with new WHL files, you need to receive a new tool from the tool developer. In most cases, that is a partner-built tool, but it could also be an older tool built by Alteryx or even a tool found on Community or Gallery.
No, we upgraded these tools as part of the Python upgrade effort. They should work automatically.
You shouldn't notice any changes in either the Python tool or the Insights tool, which each uses Python but not the Python SDK. But because underlying packages are being updated, like pandas, there might be some cases where the code is no longer compatible with the Python version.
You might see an issue with your Python code in the Python tool if it uses functionality that is no longer supported. If that is the case, you need to update the code to be compatible with Python 3.8. There might have been changes between 3.7 and 3.8. Both are linked here:
You shouldn't encounter an error if (1) you have uploaded a workflow with a Python SDK-based tool from 20.3 to a Server that has been upgraded to 20.4, (2) the underlying code is the same, and (3) you have fixed your Python-based tool workflow by re-installing the same YXI file on the Server. Every Python-based tool that has active workflows should be re-installed on the Server.
The workflow references a tool name and tool version, not the Python version.
If the tool has been repackaged and a new version created to support 20.4, there will be version incompatibilities between tools, and the tool would need to be updated in Server or Designer.
We have also upgraded the embedded Python version in Alteryx Analytics Hub to 3.8.5. Like with Server, the version can be different between Designer and the Alteryx Analytics Hub. You need to reinstall the YXI if you were using one that has incompatible dependency versions.
If a user licensed both Alteryx Analytics Hub and Alteryx Intelligence Suite, they have to Install Alteryx Analytics Hub to upgrade from the 20.2 stable release, then install Alteryx Intelligence Suite using the 20.4 download, which is available next to AAH on downloads.alteryx.com. After that, reinstall the YXIs.
Yes. The Python version will be incompatible with 20.3 and older versions, and 20.4 and beyond. Regardless of when you upgrade, you need to update YXI tools to be compatible.
Yes. If you do not reinstall any Python tools, you should be able to revert to a prior state with no issues. After you update Python tools, you must continue that process to switch versions. For example, if you were to upgrade from 20.3 to 20.4 and reinstall Salesforce, but then go back to 20.3, you would need to reinstall Salesforce again.
No, not if you use Python SDK-based tools. If you do not, most likely you won't have any issues having multiple versions installed.
You can continue to use non-admin and admin installations of the same Alteryx version.
The installation will succeed. The issue you would see is any non-installed Python-based tools will not work on 20.4 until they are updated. Once the tools have been updated they will no longer work for your install that isn’t based on Python 3.8 (Alteryx versions older than 20.4).
For more information on how to install multiple versions on your machine, visit https://community.alteryx.com/t5/Alteryx-Designer-Knowledge-Base/How-to-install-two-versions-of-Designer-on-the-same-machine/ta-p/454948.
Create a customer support ticket at the following URL if you need additional assistance: https://community.alteryx.com/t5/Support/bd-p/SupportPage.
Python Developer FAQs
We recommend that partners and tool creators upgrade their local installations and test all tools they have created. They might use modules with versions that are no longer compatible with Python 3.8 or syntax that is no longer supported.
If your tool uses WHL files, you need to repackage the tool with its WHL files in a Python 3.8 environment and republish the tool for users to access.
If a tool creator uses the Beta release ayx-plugin-sdk that has been updated for 20.4, they need to update this package to the latest version for it to continue to work.
Multiple modules were updated in Snakeplane to support Python 3.8.5, including numpy and pandas. In some cases, you may need to update Snakeplane in order for your tools to work.