-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Conda core requirements install should use channels from env #5546
Comments
Not sure about this, this will be tricky to know which channel to use, some channels probably don't include some core requirements and builds will fail. |
How about something like this: env = read_yaml(self.config.conda.environment)
channels = env.get('channels', [])
if 'default' not in channels:
channels.append('default')
cmd = [
'conda',
'install',
'--yes',
'--quiet',
'--name',
]
# TODO: Wrap iter logic in util function:
cmd.extend(
itertools.chain.from_iterable(zip(
['-c'] * len(channels),
channels
)))
cmd.append(self.version.slug)
... |
+1 this issue. At a bare minimum, I think the install_core_requirements step should include Ideally though, I would like the option to completely skip this step, and handle the install of the core requirements (mock, pillow, sphinx, sphinx_rtd_theme) in my Something like:
version: 2
conda:
environment: docs/environment.yml
install_core: true
channels:
- conda-forge
dependencies:
- python =3.6
- mock
- pillow
- sphinx =1.8
- sphinx_rtd_theme |
This issue is related to #3829 and not being able to pin packages at env creation because they will be upgraded in the second step when RTD installs its needed dependencies. |
Hi @vidartf cc @chrisjsewell
Yes. We do have a Feature Flag now that I can enable in your project if you want. This flag makes RTD to install all the dependencies in just one step using your own The flag is called: See https://docs.readthedocs.io/en/latest/guides/feature-flags.html Let me know if you want me to add this flag to your project. |
@humitos This sounds promising! Would you mind enabling the flag on https://readthedocs.org/projects/ipyscales/ for now? Then if/when everything works smoothly I probably have a few more (~5 projects I think) if possible. |
@vidartf done! I triggered a new build at https://readthedocs.org/projects/ipyscales/builds/9574163/ Note that there is only one Feel free to close this issue if this is working as you are expecting. |
This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further. Thanks! |
@humitos I was finally able to try this out (fixing some other issues), but immediately ran into an issue:
|
Note, the dependencies listed in my conda env are also quite limited:
If these are enough to trip the conda install, this flag ( |
Seem like adding |
@vidartf great, let us know if you still run out of resources. |
With builds now passing, it would be wonderful if the following projects could have the
|
@vidartf done, let me know if you have any problem. Probably you should wipe the environment before triggering a new build on those projects https://docs.readthedocs.io/en/stable/guides/wipe-environment.html |
While troubleshooting / looking for a workaround for the issue in #5545, it came to my attention that several of the conda packages that are missing the setuptools metadata come from the default anaconda channel. The same packages on the conda-forge channel will normally include this metadata. This caused me some confusion, as I had specified the channels in my environment.yml to only use conda-forge. Looking at the build log, I see that the
install_core_requirements
step always use the default channel. This will cause some packages to be installed/overwritten from the default channel.Is it possible to have this command use the same channels as those in environment.yml? Possibly with default as the lowest priority channel?
I would be willing to write such a PR if the consensus is that this is OK :)
The text was updated successfully, but these errors were encountered: