Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install pip in docker

Tags:

python

docker

pip

I'm not able to install pip in Docker.

Here's my Dockerfile:

FROM ubuntu:14.04  # Install dependencies RUN apt-get update -y RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip 

When building, I get:

Sending build context to Docker daemon 109.6 kB Step 1 : FROM ubuntu:14.04  ---> b549a9959a66 Step 2 : RUN apt-get update -y  ---> Using cache  ---> 84577471562c Step 3 : RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip  ---> Running in 49252a6d0eb1 Reading package lists... Building dependency tree... Reading state information... python3.4 is already the newest version. The following extra packages will be installed:   apache2-bin apache2-data binutils build-essential ca-certificates cpp   cpp-4.8 dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 git-man krb5-locales   libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl   libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasan0   libasn1-8-heimdal libatomic1 libc-dev-bin libc6-dev libcloog-isl4 libcurl3   libcurl3-gnutls libdpkg-perl libedit2 liberror-perl libfakeroot   libfile-fcntllock-perl libgcc-4.8-dev libgmp10 libgomp1 libgssapi-krb5-2   libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal   libheimntlm0-heimdal libhx509-5-heimdal libidn11 libisl10 libitm1   libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0   libldap-2.4-2 libmcrypt4 libmpc3 libmpfr4 libmysqlclient18 libpython-stdlib   libpython2.7-minimal libpython2.7-stdlib libquadmath0 libroken18-heimdal   librtmp0 libsasl2-2 libsasl2-modules libsasl2-modules-db libstdc++-4.8-dev   libtimedate-perl libtsan0 libwind0-heimdal libx11-6 libx11-data libxau6   libxcb1 libxdmcp6 libxext6 libxml2 libxmuu1 linux-libc-dev lsof make   manpages manpages-dev mysql-common openssh-client openssl patch php5-cli   php5-common php5-json php5-readline psmisc python python-chardet   python-chardet-whl python-colorama python-colorama-whl python-distlib   python-distlib-whl python-html5lib python-html5lib-whl python-minimal   python-pip-whl python-pkg-resources python-requests python-requests-whl   python-setuptools python-setuptools-whl python-six python-six-whl   python-urllib3 python-urllib3-whl python-wheel python2.7 python2.7-minimal   python3-pkg-resources rsync sgml-base ssl-cert xauth xml-core xz-utils Suggested packages:   www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom ufw   apache2-utils binutils-doc cpp-doc gcc-4.8-locales debian-keyring   g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg gcc-multilib   autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.8-multilib   libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg   libtsan0-dbg libquadmath0-dbg gettext-base git-daemon-run   git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch   git-bzr git-cvs git-mediawiki git-svn php-pear glibc-doc krb5-doc krb5-user   libmcrypt-dev mcrypt libsasl2-modules-otp libsasl2-modules-ldap   libsasl2-modules-sql libsasl2-modules-gssapi-mit   libsasl2-modules-gssapi-heimdal libstdc++-4.8-doc make-doc man-browser   ssh-askpass libpam-ssh keychain monkeysphere ed diffutils-doc   php5-user-cache python-doc python-tk python-genshi python-lxml   python-distribute python-distribute-doc python2.7-doc binfmt-support   python3-setuptools openssh-server sgml-base-doc openssl-blacklist debhelper Recommended packages:   ssh-client python-dev-all The following NEW packages will be installed:   apache2 apache2-bin apache2-data binutils build-essential ca-certificates   cpp cpp-4.8 curl dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 git git-man   krb5-locales libalgorithm-diff-perl libalgorithm-diff-xs-perl   libalgorithm-merge-perl libapache2-mod-php5 libapr1 libaprutil1   libaprutil1-dbd-sqlite3 libaprutil1-ldap libasan0 libasn1-8-heimdal   libatomic1 libc-dev-bin libc6-dev libcloog-isl4 libcurl3 libcurl3-gnutls   libdpkg-perl libedit2 liberror-perl libfakeroot libfile-fcntllock-perl   libgcc-4.8-dev libgmp10 libgomp1 libgssapi-krb5-2 libgssapi3-heimdal   libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal   libhx509-5-heimdal libidn11 libisl10 libitm1 libk5crypto3 libkeyutils1   libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libmcrypt4   libmpc3 libmpfr4 libmysqlclient18 libpython-stdlib libpython2.7-minimal   libpython2.7-stdlib libquadmath0 libroken18-heimdal librtmp0 libsasl2-2   libsasl2-modules libsasl2-modules-db libstdc++-4.8-dev libtimedate-perl   libtsan0 libwind0-heimdal libx11-6 libx11-data libxau6 libxcb1 libxdmcp6   libxext6 libxml2 libxmuu1 linux-libc-dev lsof make manpages manpages-dev   mysql-common openssh-client openssl patch php5 php5-cli php5-common   php5-json php5-mcrypt php5-mysql php5-readline psmisc python python-chardet   python-chardet-whl python-colorama python-colorama-whl python-distlib   python-distlib-whl python-html5lib python-html5lib-whl python-minimal   python-pip python-pip-whl python-pkg-resources python-requests   python-requests-whl python-setuptools python-setuptools-whl python-six   python-six-whl python-urllib3 python-urllib3-whl python-wheel python2.7   python2.7-minimal python3-pkg-resources rsync sgml-base ssl-cert xauth   xml-core xz-utils 0 upgraded, 130 newly installed, 0 to remove and 4 not upgraded. Need to get 61.9 MB of archives. After this operation, 213 MB of additional disk space will be used. Err http://archive.ubuntu.com/ubuntu/ trusty-updates/main libroken18-heimdal amd64 1.6~git20131207+dfsg-1ubuntu1.1   Could not resolve 'archive.ubuntu.com' Err http://archive.ubuntu.com/ubuntu/ trusty-updates/main libasn1-8-heimdal amd64 1.6~git20131207+dfsg-1ubuntu1.1   Could not resolve 'archive.ubuntu.com'  . . .  Err http://archive.ubuntu.com/ubuntu/ trusty-security/main python2.7 amd64 2.7.6-8ubuntu0.2   Could not resolve 'archive.ubuntu.com' E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/h/heimdal/libroken18-heimdal_1.6~git20131207+dfsg-1ubuntu1.1_amd64.deb  Could not resolve 'archive.ubuntu.com'  E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20131207+dfsg-1ubuntu1.1_amd64.deb  Could not resolve 'archive.ubuntu.com'  E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb5support0_1.12+dfsg-2ubuntu5.2_amd64.deb  Could not resolve 'archive.ubuntu.com'  E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/s/ssl-cert/ssl-cert_1.0.33_all.deb  Could not resolve 'archive.ubuntu.com'  E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? The command '/bin/sh -c apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip' returned a non-zero code: 100 

Having read this answer, I tried adding the line RUN "sh" "-c" "echo nameserver 8.8.8.8 >> /etc/resolv.conf" - the error this time is:

... ... Reading state information... E: Unable to locate package php5-mcrypt E: Unable to locate package python-pip The command '/bin/sh -c apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip' returned a non-zero code: 100 

What am I doing wrong? I've seen some claims that I should try a different version of Ubuntu, but switching to 13.1 didn't change anything.

like image 904
scubbo Avatar asked Apr 13 '16 23:04

scubbo


People also ask

How do I install pip?

Step 1: Download the get-pip.py (https://bootstrap.pypa.io/get-pip.py) file and store it in the same directory as python is installed. Step 2: Change the current path of the directory in the command line to the path of the directory where the above file exists. Step 4: Now wait through the installation process.


1 Answers

While T. Arboreus's answer might fix the issues with resolving 'archive.ubuntu.com', I think the last error you're getting says that it doesn't know about the packages php5-mcrypt and python-pip. Nevertheless, the reduced Dockerfile of you with just these two packages worked for me (using Debian 8.4 and Docker 1.11.0), but I'm not quite sure if that could be the case because my host system is different than yours.

FROM ubuntu:14.04  # Install dependencies RUN apt-get update && apt-get install -y \     php5-mcrypt \     python-pip 

However, according to this answer you should think about installing the python3-pip package instead of the python-pip package when using Python 3.x.

Furthermore, to make the php5-mcrypt package installation working, you might want to add the universe repository like it's shown right here. I had trouble with the add-apt-repository command missing in the Ubuntu Docker image so I installed the package software-properties-common at first to make the command available.

Splitting up the statements and putting apt-get update and apt-get install into one RUN command is also recommended here.

Oh and by the way, you actually don't need the -y flag at apt-get update because there is nothing that has to be confirmed automatically.

Finally:

FROM ubuntu:14.04  # Install dependencies RUN apt-get update && apt-get install -y \     software-properties-common RUN add-apt-repository universe RUN apt-get update && apt-get install -y \     apache2 \     curl \     git \     libapache2-mod-php5 \     php5 \     php5-mcrypt \     php5-mysql \     python3.4 \     python3-pip 

Remark: The used versions (e.g. of Ubuntu) might be outdated in the future.

like image 142
mxscho Avatar answered Sep 19 '22 03:09

mxscho