I am trying to deploy machine learning model in azure ACI but i am getting following error while creating a docker image
Pip subprocess error:
ERROR: Cannot uninstall 'ruamel-yaml'. It is a distutils installed project and thus we cannot
accurately determine which files belong to it which would lead to only a partial uninstall.
Below is my yml file for pip dependencies
name: project_environment
dependencies:
# The python interpreter version.
# Currently Azure ML only supports 3.5.2 and later.
- pip:
# Required packages for AzureML execution, history, and data preparation.
- pandas
- azureml-defaults
- azureml-sdk
- azureml-widgets
- numpy
- tensorflow-gpu
- keras
- azureml-defaults
- torch==1.4.0
- scikit-learn==0.22.2.post1
and if i use conda instead of pip then i am getting following error
Step 11/13 : RUN CONDA_ROOT_DIR=$(conda info --root) && if [ -n
"$AZUREML_CONDA_ENVIRONMENT_PATH" ]; then conda env update -p
"$AZUREML_CONDA_ENVIRONMENT_PATH" -f '/var/azureml-app/binary_2.yml'; else
conda env update -n base -f '/var/azureml-app/binary_2.yml'; fi && conda
clean -aqy && rm -rf /root/.cache/pip && rm -rf "$CONDA_ROOT_DIR/pkgs" &&
find "$CONDA_ROOT_DIR" -type d -name __pycache__ -exec rm -rf {} +
---> Running in 9e6eb7278bfc
[91mUnable to install package for Conda.
Please double check and ensure you dependencies file has
the correct spelling. You might also try installing the
conda-env-Conda package to see if provides the required
installer.
[0mThe command '/bin/sh -c CONDA_ROOT_DIR=$(conda info --root) && if [ -n
"$AZUREML_CONDA_ENVIRONMENT_PATH" ]; then conda env update -p
"$AZUREML_CONDA_ENVIRONMENT_PATH" -f '/var/azureml-app/binary_2.yml'; else
conda env update -n base -f '/var/azureml-app/binary_2.yml'; fi && conda
clean
-aqy && rm -rf /root/.cache/pip && rm -rf "$CONDA_ROOT_DIR/pkgs" && find
"$CONDA_ROOT_DIR" -type d -name __pycache__ -exec rm -rf {} +' returned a
non-
zero code: 255
2020/08/12 19:36:09 Container failed during run: acb_step_0. No retries
remaining.
failed to run step ID: acb_step_0: exit status 255
**Can anyone please help me **
This is a problem ever since pip version 10 (relevant discussion on the pip repo). That thread details a few solutions:
Manually delete the files from site-packages
. In my case, to delete ruamel.yaml
the command was rm -rf /path/to/anaconda3/lib/python3.7/site-packages/ruamel*
You can also downgrade pip to version <10, reinstall ruamel with the --disable-pip-version-check
option, then reverse the downgrade with pip install --upgrade pip
.
Update: here's a 1-liner that deletes the ruamel packages:
rm -rf $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")/ruamel*
Breaking that down: everything in the $(...) is a one-liner to get your global site-packages dir (source). The rm -rf
deletes the ruamel package directories recursively. The /ruamel*
suffix targets the ruamel package.
I've encountered this same issue with other packages (boto
, gmpy2
, pycosat
) and the solution was the same, except to replace the suffix.
maybe use "pip install --ignore-installed [package]"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With