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