Troubleshooting Tips for Call Python Action

Below are some common issues you may encounter when using the Call Python action, along with its current limitations.

This initial release in v5.9.7 is primarily focused on interoperability with standard Python (CPython) and should be considered a 'Preview Feature'. The API may be updated or changed in future releases if necessary. We are gathering feedback to help determine and prioritize features for future releases. Please include the error text or a screenshot when reporting issues.

Default mode fails with "Could not start python"-type error

  1. Verify Python is on PATH and accessible to the workflow by adding a PowerShell action before Call Python:
    python -c "import sys; print(sys.version)"
  2. Enable "Capture output and error collections".
  3. On success you will see the default Python version (e.g., 3.13.5). If it fails, ensure:
    • Python is on PATH.
    • The Python installation folder is accessible to the Windows user running the workflow.
    • The Python version is one of: 3.11, 3.12, 3.13. Note that 32-bit Python is not supported. Only the x64 CPython implementation is supported.

If Python was just installed, the application will not immediately see it in the PATH, so you need to restart it (this applies to both Desktop and Server).

VENV mode fails with 'Could not start python in venv'-type error

Ensure the running user has access to both the VENV folder and the folder of the parent interpreter. The parent interpreter is the base Python installation used to create the venv (the python.exe you ran with "-m venv"). The workflow user must be able to execute it.

Conda/Mamba/etc.

Conda-based virtual environments are not officially supported in this release. They may work in some cases, but 1.0.* focuses on standard Python and venv.

STDOUT/STDERR encoding errors

EasyMorph expects UTF-8 for capturing STDOUT and STDERR. Therefore, in your Python code, add:

import sys
sys.stdout.reconfigure(encoding="utf-8")
sys.stderr.reconfigure(encoding="utf-8")

Server's default worker cannot see Python

Ensure that your Default worker account (NT AUTHORITY\LocalService), has access to the Python executable/venv files. Note that by default, LocalService has rather restricted permissions.
If you encounter issues, one possible workaround is:

  • Install Python in a location accessible to the worker.
  • Create a venv using that Python installation.
  • Use that venv in the Call Python action.

Import fails

  • If the "import easymorph" statement fails in your Python script, ensure that you are using a supported Python version (3.11, 3.12, 3.13). Check your Python version with:
import sys
print(sys.version)

The "Call Python" action under the hood provides the "easymorph" module via PYTHONPATH. Using pip install is not required.

Limits

Input/output dataset limits:

Max text string length                  1,073,741,823 characters
Max rows in a dataset                   536,870,897 rows
Max columns in a dataset                100,000 columns
Max number value in a dataset cell      79228162514264337593543950335.0
Min number value in a dataset cell     -79228162514264337593543950335.0
Max dataset size in memory	            4 GB
* Number limits are due to EasyMorph internal decimal representation.

Using the "easymorph" module in standalone mode

The "easymorph" Python module can be used directly from the command line as well, which we refer to as 'standalone' mode.
For standalone usage, you need to either add EasyMorph/Python/modules to PYTHONPATH or install the WHL:
pip install --force-reinstall --no-index --find-links="Python/modules" easymorph
(assuming the current working directory is the EasyMorph installation location)

Installing the WHL enables Pylance/IDE support.

Other errors

When reporting runtime errors, include diagnostics if possible:

import easymorph
diag = easymorph.get_debug_diagnostics()
print(diag ) // or print(json.dumps(diag, indent=2)) 
1 Like