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

Enhancement: ability to vendor multiple environment.yaml files into a single local-channel #25

Closed
rigzba21 opened this issue Nov 4, 2021 · 2 comments · Fixed by #26
Closed

Comments

@rigzba21
Copy link
Contributor

rigzba21 commented Nov 4, 2021

I ran into a situation where I needed to create two separate conda environments, each with different versions of the same package but solvable from a single conda-vendor'ed local channel.

Example:
environment-1.yaml:

name: environment-one
channels:
  - conda-forge
dependencies:
  - python=3.9.7
  - pip
  - gxx_linux-64=9.4.0

environment-2.yaml:

name: environment-two
channels:
  - conda-forge
dependencies:
  - python=3.9.7
  - pip
  - gxx_linux-64=11.2.0

My current workaround involved creating two separate conda-vendor'ed local-channels for each environment.yaml, then manually combining the .tar.bz2 packages into one local-channel, deleting the repodata.json files, re-indexing that channel with conda index ., and then manually merging the meta-manifest files into one (removing any duplicate entries).

It would be awesome to have the ability to create a single local channel from multiple environment.yaml files without the workaround!

@rigzba21
Copy link
Contributor Author

rigzba21 commented Nov 9, 2021

Experiencing the same or similar issue when trying to generate a local channel with both nb_conda_kernels and ipykernel.

@tylerpotts
Copy link
Contributor

tylerpotts commented Nov 15, 2021

@rigzba21 This issue is most likely happening because you are using conda index which will overwrite any of the changes that occurred when the repodata was hotfixed

The solution is to combine the meta-manifest.yaml files and the creating the local conda channels from that combined manifest. I'll add an option in the CLI that will combine meta-manifests

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

Successfully merging a pull request may close this issue.

2 participants