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
Author by
Raphael Baysa
Updated on February 18, 2022Comments
-
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 over 6 yearsadding 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 over 6 yearsI 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 about 2 yearsI'm receiving Unable to locate package y. It will work if you replace "- y" with "-y" in the second line