Skip to content

Dockerfile issue with --install-option=\"--prefix=/install\" #220

Description

@aous72

In using Dockerfile, when I issue
Docker build . --file ./Dockerfile -t jpylyzer

I get

 => ERROR [builder 5/5] RUN mkdir /install && cd /src/jpylyzer && pip install -U pip && pip install --install-opt  4.2s
------
 > [builder 5/5] RUN mkdir /install && cd /src/jpylyzer && pip install -U pip && pip install --install-option="--prefix=/install" .:
1.764 Requirement already satisfied: pip in /usr/local/lib/python3.6/site-packages (21.2.4)
1.955 Collecting pip
1.998   Downloading pip-21.3.1-py3-none-any.whl (1.7 MB)
2.123 Installing collected packages: pip
2.123   Attempting uninstall: pip
2.124     Found existing installation: pip 21.2.4
2.247     Uninstalling pip-21.2.4:
2.405       Successfully uninstalled pip-21.2.4
3.315 Successfully installed pip-21.3.1
3.315 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
3.922 /usr/local/lib/python3.6/site-packages/pip/_internal/commands/install.py:245: UserWarning: Disabling all use of wheels due to the use of --build-option / --global-option / --install-option.
3.922   cmdoptions.check_install_build_global(options)
3.922 ERROR: Location-changing options found in --install-option: ['--prefix'] from command line. This is unsupported, use pip-level options like --user, --prefix, --root, and --target instead.
------
Dockerfile:11
--------------------
   9 |     WORKDIR /src
  10 |     RUN git clone https://github.com/openpreserve/jpylyzer.git
  11 | >>> RUN mkdir /install && cd /src/jpylyzer && pip install -U pip && pip install --install-option="--prefix=/install" .
  12 |
  13 |     FROM python:3.6-alpine
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir /install && cd /src/jpylyzer && pip install -U pip && pip install --install-option=\"--prefix=/install\" ." did not complete successfully: exit code: 1

I fixed this by modifying the Dockerfile line
RUN mkdir /install && cd /src/jpylyzer && pip install -U pip && pip install --install-option="--prefix=/install" .
to
RUN mkdir /install && cd /src/jpylyzer && pip install -U pip && pip install --prefix=/install .

I am actually not familiar with this. Perhaps you have a better solution.

Hope this is useful. Thank you.
Aous.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions