I am new to Python as well as Azure, so I might be missing some crucial information with my design. We have couple of libraries which are created to be used by user while working on their Azure ML workspace. Now, this questions remain same if we are creating libraries for user to be used in a simple Jupyter notebook.
Now, both of these libraries have diff packages which could be different then what a user is using. Eg : User might be using an environment which is using numpy x.1 but package A might be using x.2 and package B needs x.3. This is a possibility since all these packages are developed by different teams.
Now, what could be the best way to handle this problem in real world. So far, I am able to come up with below approaches :
- Install these files in different docker container where the needed packages are installed. And get the desired output done in separate environments.
- Use Custom Environment options provided by Azure itself. And run the incompatibles ones in different environment.
- not sure, if we can create different virtual environments and run the packages in different virtual environments but something similar to this if possible.
So, I wanted to know if there is any right way of doing this in real world. I see that we should create a different environment for each project but what about the case when we have different packages which needs different versions of common dependencies. How to handle such case?