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

Posted

技术标签:

【中文标题】由于从 `https://pypi.python.org/simple/` 返回的“永久移动”错误,`pip` 无法在 Docker 容器中安装包【英文标题】:`pip` failed to install package inside Docker container due to 'Move Permanently' error returned from `https://pypi.python.org/simple/` 【发布时间】:2019-05-24 13:51:43 【问题描述】:

我想在Ubuntu 14.04docker 容器中安装pip 软件包,但由于Move Permanentlyhttps://pypi.python.org/simple/ 返回,它总是显示错误。奇怪的 (?) 点是运行Ubuntu 14.04 和相同版本的pythonpip 的主机成功安装pip 包。

Docker 版本:

$ 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>

【问题讨论】:

天真的问题(因为我对 Docker 不是很熟悉):你可以从容器内部访问互联网吗?你能做一个 curl 或类似的东西吗? 【参考方案1】:

这是pip 1.5.4的已知问题

在使用 pip 之前,将以下行添加到您的 Dockerfile

RUN python -m pip install --upgrade pip

【讨论】:

以上是关于由于从 `https://pypi.python.org/simple/` 返回的“永久移动”错误,`pip` 无法在 Docker 容器中安装包的主要内容,如果未能解决你的问题,请参考以下文章

python 来自https://pypi.python.org/pypi/skeleton/的基本Python类框架

无法获取索引库URL https://pypi.python.org/simple/〜安装Python 3 OS X之后

Python ZKPython 安装

为啥 PyPi 不再显示下载统计信息? [关闭]

ImportError:没有名为 pip 的模块

pip 在获取 https://pypi.python 时失败并出现 HTTP 错误 503