Docker issue: /bin/sh: pip: not found

36,342

Solution 1

For Python3:

FROM ubuntu:latest
WORKDIR /app
ADD . /app
RUN set -xe \
    && apt-get update \
    && apt-get install python3-pip
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

If you install python-pip for Python2 as well, you need to use pip3 for Python3 and pip for Python2. But with this setting, pip is the same as pip3. Check with pip -V.

Thats it :-)

Solution 2

You have to install pip first.

FROM iron/python:2.7
WORKDIR /app
ADD . /app
RUN set -xe \
    && apt-get update \
    && apt-get install python-pip
RUN pip install --upgrade pip
RUN pip install -r ./requirements.txt

Solution 3

Adding to @vijayraj34 answer

Ensure you add an auto yes for ubuntu to install the updates and pip without requesting user input

Like so

RUN set -xe \
    && apt-get update -y \
    && apt-get install -y python3-pip
Share:
36,342
Raphael Baysa
Author by

Raphael Baysa

Updated on February 18, 2022

Comments

  • Raphael Baysa
    Raphael Baysa about 2 years

    So my dockerfile is :

    FROM iron/python:2.7
    
    WORKDIR /app
    ADD . /app
    
    RUN pip install --upgrade pip
    RUN pip install -r ./requirements.txt
    

    Recently though when I build my image with: docker build --no-cache -t <image name>:<tag>

    I run into the issue of:

    Step 4/6 : RUN pip install --upgrade pip
    ---> Running in 00c781a53487
    /bin/sh: pip: not found
    The command '/bin/sh -c pip install --upgrade pip' returned a non-zero code: 127
    

    was there any changes to docker that might have caused this? Because last week this was all fine and there were no issues building the image with the same exact code.

  • Raphael Baysa
    Raphael Baysa over 6 years
    adding that line of code give: Step 4/7 : RUN set -xe && apt-get update && apt-get install python- pip ---> Running in 0cca59ad3d01 + apt-get update /bin/sh: apt-get: not found. Seems like commands like apt-get that should be there aren't found at all when the image is being created.
  • vanhonit
    vanhonit over 6 years
    I have checked the image iron/python:2.7. That not use debian base. You can try change to use FROM python:2.7-slim instead of FROM iron/python:2.7
  • Zekarias Taye Hirpo
    Zekarias Taye Hirpo about 2 years
    I'm receiving Unable to locate package y. It will work if you replace "- y" with "-y" in the second line