Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow solving for different platforms #102

Open
habemus-papadum opened this issue Apr 27, 2020 · 4 comments
Open

Allow solving for different platforms #102

habemus-papadum opened this issue Apr 27, 2020 · 4 comments

Comments

@habemus-papadum
Copy link

Hi --
I currently use anaconda-project to maintain repeatable cross platform environments, but it has complexity that isn't really needed for my use case and I would like to consider alternatives such as conda-devenv -- in particular conditioning packages based on platform would be extremely useful.

The one really useful thing about anaconda-project is that it knows how to solve environments for multiple platforms at once, independent of the host platform.

If would be useful to be able to run conda-devenv in a mode in which is renders fully solved environment files for a given platform (which then would be checked into version control or just used to verify that the environments are actually solvable)

best, nehal

@nicoddemus
Copy link
Member

Hi @habemus-papadum,

You mean for conda-devenv to get a file like this:

name: env
dependencies:
  - pip:
    - sphinx
  - gxx_linux-64=7.3.0  # [linux]
  - ccache              # [unix]
  - clcache             # [win]

And output a new yaml file with all dependencies and versions pinned, IOW, fully solved?

@habemus-papadum
Copy link
Author

exactly (and the yaml template you provided covers the cases I am interested in (pip & platform based customization). The reason for emitting fully solved yamls is that it simplifies & speeds up deployment to the cloud and helps support repeatability. The thing I haven't figured out is how anaconda-project does the cross platform solve.

@prusse-martin
Copy link
Member

Note that the environment variables defined in the env.devenv.yml file are saved inside the conda environment and not present in the rendered env.yml.

@habemus-papadum
Copy link
Author

@prusse-martin good point. Also, it seems unlikely that the pip section could be handled in any sort of cross platform way

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants