Unable to deploy Orange ML model on Streamlit cloud

Hi,

I cannot deploy a Python web app, which uses Machine Learning (ML) model previously built in Orange 3, on the Streamlit cloud. Orange3 is a Data Mining/Machine Learning Python-based platform.

The model is trained and tested in Orange 3 (3.30.2) and then saved as .pkcls file. It is then used to make predictions as part of a webapp.py file built on top of Streamlit (1.1.0). This web app runs just fine on my PC. However, the problem arises when I try to deploy it on the Streamlit cloud.

From my investigations, it seems that the problem arises because Streamlit server cannot find appropriate version of Orange (needs to be 3.30.2). My guess is that the issue is related to namespace of Orange. Namely, the import statement uses import Orange, which points to version 2.7.8 and not 3.30.2. But if I change my requirements file to import Orange 3 == 3.30.2, then the right version of Orange is used but my web app no longer works!

I contacted Orange but they said the problem is with Streamlit cloud dependencies.

I would really appreciate your help.

Regards,

Tonci

Hi @TonciG, welcome to the Streamlit community!

Is there a repo you can share that demonstrates this? Specifically, how are you getting multiple versions of Orange installed?

Best,
Randy

Hi Randy,
Thank you for your response.
I have solved the issue now. Had to provide a packages.txt with a couple of dependencies needed by Orange Data Mining.
The repo is:

Many thanks,
Tonci

1 Like