Forum Discussion
Environment save/publish fails with PbiApiError for snowflake-connector in Notebook
Title: Fabric Environment save/publish fails with PbiApiError when uploading correct Linux wheels for snowflake-connector-python
Hi team,
I’m facing an issue while trying to add snowflake-connector-python to a Fabric Environment in a restricted-network setup.
What I’m trying to do
I need to run a Fabric notebook/pipeline that imports:
import snowflake.connector from cryptography.hazmat.primitives import serialization
Since inline %pip is disabled in pipeline runs, I’m trying to install the dependency through a Fabric Environment.
What I already tried
I followed the limited-network approach and prepared wheels externally.
Initially, I hit expected errors because of wrong wheels:
Windows wheels (win_amd64) → failed
Python 3.11 wheels on a Python 3.10 environment → failed
I then switched to Linux-compatible wheels downloaded from WSL.
Current issue
The Environment still fails during save/publish with PbiApiError, and the detailed log shows inconsistent runtime behavior.
In one attempt, I uploaded Python 3.11 wheels, but the log showed the environment was actually building on Spark 3.4 / Python 3.10:
libraryMetadata//Spark34/
base env references like chromadb==0.4.13=py310
and then failed with:
ERROR: snowflake_connector_python-4.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl is not a supported wheel on this platform.
So it looks like the runtime used during environment build does not match what I expected.
Wheels I uploaded
These are the wheels I used in the latest attempt:
asn1crypto-1.5.1-py2.py3-none-any.whl boto3-1.42.96-py3-none-any.whl botocore-1.42.96-py3-none-any.whl certifi-2026.4.22-py3-none-any.whl cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl cryptography-47.0.0-cp311-abi3-manylinux_2_34_x86_64.whl filelock-3.29.0-py3-none-any.whl idna-3.13-py3-none-any.whl jmespath-1.1.0-py3-none-any.whl packaging-26.2-py3-none-any.whl platformdirs-4.9.6-py3-none-any.whl pycparser-3.0-py3-none-any.whl pyjwt-2.12.1-py3-none-any.whl pyopenssl-26.1.0-py3-none-any.whl python_dateutil-2.9.0.post0-py2.py3-none-any.whl pytz-2026.1.post1-py2.py3-none-any.whl requests-2.33.1-py3-none-any.whl s3transfer-0.16.1-py3-none-any.whl six-1.17.0-py2.py3-none-any.whl snowflake_connector_python-4.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Questions
How can I reliably determine which Python version/runtime Fabric is actually using during Environment build?
If the Environment is Spark 3.4 / Python 3.10, should I prepare only cp310 wheels even if I expected Runtime 1.3?
Is there a known issue where Environment save/publish throws PbiApiError before the configuration/runtime is fully reflected in the UI?
Has anyone successfully installed snowflake-connector-python in a restricted-network Fabric Environment? If yes, could you share the exact runtime + wheel strategy?
Relevant log excerpt
libraryMetadata//Spark34/ ... The environment is inconsistent ... ERROR: snowflake_connector_python-4.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl is not a supported wheel on this platform.
Any guidance would be appreciated.
Hello girishtharwani2
The Fabric runtime environment that will be used shows on the Runtime dropdown in the UI. Runtime 1.3 has Python 3.11 and Spark 3.5.5, whereas Runtime 1.2 has Python 3.10 and Spark 3.4.1. It looks like you are using Runtime 1.2. Please bear in mind you can upgrade you runtime at any time, but you'll need to republish after you have made changes.
Because you're running runtime 1.2 Python 3.10 you can't import a wheel tagged for Python 3.11. Please use runtime 1.3 with cp311 wheel and it should work.
Thankyou, deborshi_nag and tayloramy for your responses.
Hi girishtharwani2,
We appreciate your inquiry through the Microsoft Fabric Community Forum.
We would like to inquire whether have you got the chance to check the solutions provided by deborshi_nag and tayloramy to resolve the issue. We hope the information provided helps to clear the query. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.
Thank you.
9 Replies
- deborshi_nag
Super User
Hello girishtharwani2
The Fabric runtime environment that will be used shows on the Runtime dropdown in the UI. Runtime 1.3 has Python 3.11 and Spark 3.5.5, whereas Runtime 1.2 has Python 3.10 and Spark 3.4.1. It looks like you are using Runtime 1.2. Please bear in mind you can upgrade you runtime at any time, but you'll need to republish after you have made changes.
Because you're running runtime 1.2 Python 3.10 you can't import a wheel tagged for Python 3.11. Please use runtime 1.3 with cp311 wheel and it should work.
- girishtharwani2
Helper III
I tried both 1.2 as well as 1.3, same issue persists.
- deborshi_nag
Super User
Try to offcial conda environment for Fabric runtime 1.3 - Fabric-Python311-CPU.yml
Create environment and download using pip
Step 1
conda env create -n fabric13 -f Fabric-Python311-CPU.yml
conda activate fabric13Step 2
mkdir wheels
pip download snowflake-connector-python==4.4.0 -d wheelsYou can use Azure CLI bash shell to run the above commands - make sure you use Python 3.11 (Azure CLI comes with 3.12 by default). I could publish the wheels successfully using the above.
- v-pnaroju-msft
Community Support
Hi girishtharwani2,
We are glad to know that your issue has been resolved. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.
Thank you.
- tayloramy
Super User
Hi girishtharwani2,
deborshi_nag is correct on the Python versions for the different runtimes.
Here's the documentation so you can check it yourself:
https://learn.microsoft.com/en-us/fabric/data-engineering/runtime-1-3https://learn.microsoft.com/en-us/fabric/data-engineering/runtime-1-2
https://learn.microsoft.com/en-us/fabric/data-engineering/runtime-2-0
On this page Microsoft provides the yml files that contain the exact libraries and versions included in the Fabric Runtime: https://learn.microsoft.com/en-us/fabric/data-engineering/environment-manage-library-with-outbound-access-protection
It also walks through making a local enviornmnet that matches the libraries that Fabric uses.
I recommend following these steps to get the enviornment set up and then create the wheels to ensure you have correct versions of all dependencie.
- v-pnaroju-msft
Community Support
Thankyou, deborshi_nag and tayloramy for your responses.
Hi girishtharwani2,
We appreciate your inquiry through the Microsoft Fabric Community Forum.
We would like to inquire whether have you got the chance to check the solutions provided by deborshi_nag and tayloramy to resolve the issue. We hope the information provided helps to clear the query. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.
Thank you.- girishtharwani2
Helper III
It worked in Quick Mode and not in Full mode.