-
Notifications
You must be signed in to change notification settings - Fork 65
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
Unable to opt-out from python from conda-forge channel #369
Comments
This is particularly problematic in the example of trying to extend the PyTorch container's conda installation (at
Given the following [deps]
PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d" channels = ["pytorch", "nvidia"]
[deps.pytorch]
channel = "pytorch"
[deps.pytorch-cuda]
channel = "pytorch"
version = "11.7" Complete Dockerfile for reference: FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
RUN DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists/*
RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj -C /usr/local bin/micromamba
ENV JULIA_DEPOT_PATH=/opt/julia_depot
RUN curl -fsSL https://install.julialang.org | sh -s -- --default-channel release --path /opt/juliaup --yes && \
mkdir /opt/Project
ENV PATH=/opt/juliaup/bin:$PATH
COPY Project.toml /opt/Project/
RUN julia --project=/opt/Project --eval ' \
using Pkg; \
Pkg.instantiate();'
COPY CondaPkg.toml /opt/Project/
ENV CONDA_PREFIX=/opt/conda
ENV JULIA_CONDAPKG_BACKEND=Current
ENV JULIA_CONDAPKG_ENV=/opt/conda
ENV JULIA_PYTHONCALL_EXE=/opt/conda/bin/python
RUN julia --project=/opt/Project --eval ' \
using Pkg; \
Pkg.add("CondaPkg"); \
using CondaPkg; \
CondaPkg.resolve()' |
The reason for the seemingly over-specific spec for Python is that conda-forge has both CPython and PyPy available as Unfortunately it does tie you in to the conda-forge channel, which was never the intention. To allow PythonCall to use Python from another Conda channel, I'd need to treat Python as a special case in CondaPkg - it's certainly doable. |
I've fixed this on the main branch ( |
I'm not sure this is related, but I just encountered a weird issue, where PythonCall v0.9.14 and CondaPkg v0.2.21 would ensure install of one version of
Causing:
CondaPkg.toml: [deps]
scikit-image = ">=0.1"
[pip.deps]
fiftyone = ">=0.17" |
Please open a new issue. |
PythonCall enforce that CondaPkg install
python
andlibstdcxx-ng
from theconda-forge
channel - even if channels and package-specific channels are specified for a package dependent on PythonCall, e.g. with the followingProject.toml
:and
CondaPkg.toml
:(also tried
channel = "defaults"
orchannel = "pkgs/main"
).CondaPkg is forced to always include the PythonCall channels
-c conda-forge
, and packages, e.g.python[version='>=3.7,<4',channel='conda-forge',build='*cpython*']
causing package resolution to obviously fail:The text was updated successfully, but these errors were encountered: