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

[micromamba] allow pip in env.yml files #589

Closed
wolfv opened this issue Nov 14, 2020 · 2 comments
Closed

[micromamba] allow pip in env.yml files #589

wolfv opened this issue Nov 14, 2020 · 2 comments
Labels
type::feature-request New feature proposal

Comments

@wolfv
Copy link
Member

wolfv commented Nov 14, 2020

We should also add support for pip in environment yml files. cc @ocefpaf

More generally, we could think about supporting arbitrary other package managers.

We could have a format where people can add a templated command line that will be used to install packages from keys, e.g.

cmds:
- pip: "pip install {pkg_name}"
- npm: "npm install {pkg_name}"
- apt: "apt install {pkg_name}"
dependencies:
- bla
- bli
- pip:
  - matplotlib
  - something
- apt:
  - kernel-headers

We might also want to have an installation order, so maybe evaluate the installers at the place where they appear in the dependencies list.

Also something that came up for conda's env.yml files is support for selectors for different OS, for example. In conda this is done with the # selector syntax, which I dislike because it's actually a comment. In boa we're currently working with the proposal to use a syntax like - sel(win): win32deps, which we could re-use here. This would also be a good opportunity to implement the selector logic in C++ so that we have it available whenever we switch to a native boa :)

@majidaldo
Copy link

We should also add support for pip in environment yml files. cc @ocefpaf

More generally, we could think about supporting arbitrary other package managers.

We could have a format where people can add a templated command line that will be used to install packages from keys, e.g.

cmds:
- pip: "pip install {pkg_name}"
- npm: "npm install {pkg_name}"
- apt: "apt install {pkg_name}"
dependencies:
- bla
- bli
- pip:
  - matplotlib
  - something
- apt:
  - kernel-headers

We might also want to have an installation order, so maybe evaluate the installers at the place where they appear in the dependencies list.

Also something that came up for conda's env.yml files is support for selectors for different OS, for example. In conda this is done with the # selector syntax, which I dislike because it's actually a comment. In boa we're currently working with the proposal to use a syntax like - sel(win): win32deps, which we could re-use here. This would also be a good opportunity to implement the selector logic in C++ so that we have it available whenever we switch to a native boa :)

I really think figuring out how an environment.yml looks like is a community issue. I've been a fan of conda devenv.

@wolfv
Copy link
Member Author

wolfv commented Feb 3, 2022

We've got pip support in micromamba now, and people are using it.

@wolfv wolfv closed this as completed Feb 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type::feature-request New feature proposal
Projects
None yet
Development

No branches or pull requests

3 participants