tokejepsen Posted October 21, 2016 Report Share Posted October 21, 2016 Hey, Wanted to share my findings and experiments about using Conda with Ftrack. You can read about Conda here; http://conda.pydata.org/docs/, but basically its a package manager similar to pip or virtualenv that is independent from Python. This independence means that you can setup a known environment from a single batch or shell script easily. Here is an example of a batch script that downloads Miniconda, a minimal version of Conda, and sets up an environment with the latest Python 2.7; https://github.com/Bumpybox/bumpybox-core/blob/1c30c78caf4533c6ff45e4a22e5c5818db9b6865/startup.bat. Making a shell script that does the same should be fairly easy and I'll post when I have one. The entire repository; https://github.com/Bumpybox/bumpybox-core, are my current experiments in having a portable pipeline that is also developer friendly. The idea is to have a single entry point for Windows and OSX/Linux, with a batch and shell script. Conda will be the framework to set up a known environment that includes the various ftrack repositories for ftrack-connect to work. I've got Maya to fully work, but current struggling with Nuke as I'm getting an error on opening Nuke. Maybe some clever Ftrack developers can point me in the right direction? I know you guys might be using OSX, so I'll get a shell script asap together. Eventually I would like to have a repository that could be use by other people, but I haven't figured out a structure for it yet which is why I'm currently using submodules. Link to comment Share on other sites More sharing options...
tokejepsen Posted October 21, 2016 Author Report Share Posted October 21, 2016 I mentioned it at the Ftrack London event yesterday to @lorenzo.angeli and @Mattias Lagergren Link to comment Share on other sites More sharing options...
Mattias Lagergren Posted October 24, 2016 Report Share Posted October 24, 2016 Hi Toke, thank you for sharing this! I've not had time to dig into it yet but is looks useful! Link to comment Share on other sites More sharing options...
tokejepsen Posted October 31, 2016 Author Report Share Posted October 31, 2016 I've now done a couple of takes on using conda with a pipeline, and I think I have the beginning of a structure that can be used by other people. In the end all pipelines that want to use conda as their package manager, should really be looking at making conda packages, but this is not an easy task and it doesn't work well with remote git repositories. The aim of the project would be to make conda easily accessible for people to setup a known environment for their pipeline. Thus this project would be used for isolating the environment and resolving dependencies. The idea is to have a single entry point through batch and shell script, that installs Miniconda and runs any python scripts from a configuration. This seems to be the simplest and most flexible. Another idea is to be more based in git. Here the configuration would be pointing to a git repsitory (remote or local), which would be pulled/updated and a python script from the repository would be executed. Here the projects responsibilities would to extended to keep git repositories updated, and execute a python script in a known environment. I'm very open to ideas or pros/cons, as I'm still toying with the main concept. Link to comment Share on other sites More sharing options...
tokejepsen Posted November 1, 2016 Author Report Share Posted November 1, 2016 I've got a working prototype; https://github.com/tokejepsen/conda-git-deployment Its a bit rough, but should illustrate the idea and potential. Let me know what you think:) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.