首页 > 解决方案 > 由于从 `https://pypi.python.org/simple/` 返回的“永久移动”错误,`pip` 无法在 Docker 容器中安装包

问题描述

我想在容器pip内安装软件包,Ubuntu 14.04 docker但由于Move Permanentlyhttps://pypi.python.org/simple/. 奇怪的(?)点是主机运行Ubuntu 14.04和相同版本的python&pip成功安装pip包。

码头工人版本:

$ docker --version
Docker version 1.12.6-cs13, build 0ee24d4

Dockerfile:(注意:为了测试我故意进入容器内)。

FROM ubuntu:14.04
RUN apt-get update
RUN apt-get -qq install python python-pip
WORKDIR /usr/src/app
COPY . .
CMD ["/bin/sh"]

在主机上:

$ uname -a
Linux duong2179-ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ python --version
Python 2.7.6
$ pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
$ sudo pip install simplejson==3.3.1
Downloading/unpacking simplejson==3.3.1
...
Successfully installed simplejson

内部容器:

# uname -a
Linux duong2179-ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
# python --version
Python 2.7.6
# pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
# pip install simplejson==3.3.1
Downloading/unpacking simplejson==3.3.1
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement simplejson==3.3.1

从主机做curl-ing https://pypi.python.org/simple/

$ curl https://pypi.python.org/simple/
<html><head><title>301 Moved Permanently</title></head><body><center><h1>301 Moved Permanently</h1></center></body></html>

标签: python-2.7dockerpipubuntu-14.04pypi

解决方案


这是一个已知问题pip 1.5.4

Dockerfile在使用之前添加以下行pip

RUN python -m pip install --upgrade pip

推荐阅读