dask / knit

Deprecated, please use https://github.com/jcrist/skein or https://github.com/dask/dask-yarn instead
http://knit.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
53 stars 10 forks source link

CondaCreator on a different platform #116

Closed superbobry closed 6 years ago

superbobry commented 6 years ago

This might as well be a conda-specific question, but I'll give it a try anyway. Is there a way to use CondaCreator to assemble an environment for a platform other than the host? e.g. build a linux-64 environment on osx-64.

martindurant commented 6 years ago

There is no such option available in knit. If you can figure out how to make conda do this (I don't know if it's possible), we can implement the option.

quasiben commented 6 years ago

I believe you can partially do this with conda constructor. I think you can build installers for OSX/Linux on Linux and similarly for OSX. Windows, I think is a bit trickier. @superbobry if you have time can you test and report back ?

superbobry commented 6 years ago

I've actually tested constructor and it does work for OSX/Linux combination. However, it makes certain assumptions about the environment, e.g. in my case I was missing bunzip2 on the host OS, therefore I've rolled back to the knit approach.

If you can figure out how to make conda do this (I don't know if it's possible), we can implement the option.

Well, that's the thing. I've failed to find a reasonable way to do it using conda as a black box. I think the trick implemented in constructor is to override the channels, but apparently, this is not possible for conda env create.

jcrist commented 6 years ago

Closing, as unrelated to knit. You may also be interested in https://conda.github.io/conda-pack/, a more generic tool for packaging conda environments. It also doesn't support packaging for a different platform, but doesn't rely on knit and more correctly handles prefixes and paths than the functionality in knit.