Spaces:
Build error
Build error
Fix 'conda: not found' during Miniconda installation by updating PATH within the RUN command
Browse files- Dockerfile +21 -4
Dockerfile
CHANGED
@@ -25,10 +25,12 @@ RUN apt-get update -y && apt-get install -qqy \
|
|
25 |
&& rm -rf /var/lib/apt/lists/* \
|
26 |
&& git lfs install # Initialize LFS system-wide
|
27 |
|
28 |
-
# Install Miniconda (
|
29 |
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
|
30 |
/bin/bash miniconda.sh -b -p $CONDA_DIR && \
|
31 |
rm miniconda.sh && \
|
|
|
|
|
32 |
conda clean --all --yes && \
|
33 |
conda config --set auto_activate_base false && \
|
34 |
conda config --add channels conda-forge
|
@@ -44,7 +46,7 @@ COPY . /app
|
|
44 |
# Create the Conda environment named 'cosmos-predict1' using the provided YAML file.
|
45 |
RUN conda env create -f cosmos-predict1.yaml
|
46 |
|
47 |
-
# Set the default Conda environment to be activated and update PATH
|
48 |
ENV CONDA_DEFAULT_ENV=cosmos-predict1
|
49 |
ENV PATH=$CONDA_DIR/envs/cosmos-predict1/bin:$PATH
|
50 |
|
@@ -58,8 +60,6 @@ RUN . $CONDA_DIR/etc/profile.d/conda.sh && \
|
|
58 |
--index-url https://download.pytorch.org/whl/cu121
|
59 |
|
60 |
# IMPORTANT: Symlink fix for Transformer Engine compilation.
|
61 |
-
# The `nvidia/cuda` base images place CUDA libraries and headers in /usr/local/cuda.
|
62 |
-
# We need to ensure that the build system can find cuDNN headers.
|
63 |
ENV CONDA_PREFIX_FIX=/usr/local/cuda
|
64 |
RUN ln -sf $CONDA_PREFIX_FIX/lib/python3.10/site-packages/nvidia/*/include/* $CONDA_PREFIX_FIX/include/ || true && \
|
65 |
ln -sf $CONDA_PREFIX_FIX/lib/python3.10/site-packages/nvidia/*/include/* $CONDA_PREFIX_FIX/include/python3.10 || true
|
@@ -83,5 +83,22 @@ RUN . $CONDA_DIR/etc/profile.d/conda.sh && \
|
|
83 |
# Make the start.sh script executable.
|
84 |
RUN chmod +x /app/start.sh
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
# Set the default command to run when the container starts.
|
87 |
CMD ["/app/start.sh"]
|
|
|
25 |
&& rm -rf /var/lib/apt/lists/* \
|
26 |
&& git lfs install # Initialize LFS system-wide
|
27 |
|
28 |
+
# Install Miniconda (REVISED: Add $CONDA_DIR/bin to PATH within this RUN command)
|
29 |
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
|
30 |
/bin/bash miniconda.sh -b -p $CONDA_DIR && \
|
31 |
rm miniconda.sh && \
|
32 |
+
# Add Conda to PATH for subsequent commands in this RUN layer
|
33 |
+
export PATH=$CONDA_DIR/bin:$PATH && \
|
34 |
conda clean --all --yes && \
|
35 |
conda config --set auto_activate_base false && \
|
36 |
conda config --add channels conda-forge
|
|
|
46 |
# Create the Conda environment named 'cosmos-predict1' using the provided YAML file.
|
47 |
RUN conda env create -f cosmos-predict1.yaml
|
48 |
|
49 |
+
# Set the default Conda environment to be activated and update PATH (for subsequent layers and runtime)
|
50 |
ENV CONDA_DEFAULT_ENV=cosmos-predict1
|
51 |
ENV PATH=$CONDA_DIR/envs/cosmos-predict1/bin:$PATH
|
52 |
|
|
|
60 |
--index-url https://download.pytorch.org/whl/cu121
|
61 |
|
62 |
# IMPORTANT: Symlink fix for Transformer Engine compilation.
|
|
|
|
|
63 |
ENV CONDA_PREFIX_FIX=/usr/local/cuda
|
64 |
RUN ln -sf $CONDA_PREFIX_FIX/lib/python3.10/site-packages/nvidia/*/include/* $CONDA_PREFIX_FIX/include/ || true && \
|
65 |
ln -sf $CONDA_PREFIX_FIX/lib/python3.10/site-packages/nvidia/*/include/* $CONDA_PREFIX_FIX/include/python3.10 || true
|
|
|
83 |
# Make the start.sh script executable.
|
84 |
RUN chmod +x /app/start.sh
|
85 |
|
86 |
+
# --- Verification Steps ---
|
87 |
+
RUN echo "Verifying Python and Conda installations..."
|
88 |
+
RUN python --version
|
89 |
+
RUN conda env list
|
90 |
+
RUN echo "Verifying PyTorch and CUDA availability..."
|
91 |
+
RUN conda run -n cosmos-predict1 python <<EOF
|
92 |
+
import torch
|
93 |
+
print('PyTorch Version: ' + torch.__version__)
|
94 |
+
print('CUDA Available: ' + str(torch.cuda.is_available()))
|
95 |
+
if torch.cuda.is_available():
|
96 |
+
print('CUDA Device Name: ' + torch.cuda.get_device_name(0))
|
97 |
+
else:
|
98 |
+
print('CUDA Device Name: N/A')
|
99 |
+
EOF
|
100 |
+
RUN [ $? -eq 0 ] || echo "PyTorch verification failed. Check dependencies in cosmos-predict1.yaml."
|
101 |
+
# --- End Verification Steps ---
|
102 |
+
|
103 |
# Set the default command to run when the container starts.
|
104 |
CMD ["/app/start.sh"]
|