today I tried to execute a Python program, all works well on my development machine. But on the bot machine I got an error, a Python package was missed. No problem to install the missing package manually via Pip. But then I asked myself if it is possible for Python, in this context, to implement a package deployment that works similarly to the Nuget package concept? In other words, a central provision of the necessary Python packages, which, if not installed on the target machine, are retrieved and installed when the automation workflow is executed.
I would like to avoid that the Python packages are distributed via a central software deployment.
The Python packages should be distributed using the standard procedures of the UiPath platform.
Does anyone have experience with this combination? If so, what is a valid approach?
you can add the following in your process:
Check if the package is available.
→ if yes → go ahead
→ if no → install it.
How to install it:
You install it from Browser, correct?
You need the URL of the download file. I mean the last URL, which download the file directly when you open the URL. I mean when you open the URL, the file will be downloaded automatically. The name of the downloaded file is always the same. So you know the name already. Also you know the path of the downloaded file.
Then you have to start this downloded file → to do that use Start Process Activity with the path of the downloaded file.
After that you have to automate the steps to install the python package (like click next and click finish etc. in the installation popups). But make sure you have admin rights on the machine you the computer doesn’t ask you for permissions, else you cannot install it.
I didn’t do something similar but I think it could work for you. I am also not sure if I understood your question correct or not. Please let me know your opinion.
This could be a possible way. However, I think that a call from Pip (Pip = Pip Installs Packages, which installs Python packages from the central Python Package Index - PyPI), just for the dissolution of the dependencies, is the more effective way, because you often have a network of dependencies of a package. Pip is a separate application that is installed with Python.