Docker:如何在 Centos 6.8 docker 文件中设置和使用 python 2.7
Posted
技术标签:
【中文标题】Docker:如何在 Centos 6.8 docker 文件中设置和使用 python 2.7【英文标题】:Docker: How to set and use python 2.7 in Centos 6.8 docker file 【发布时间】:2018-07-31 19:14:40 【问题描述】:我在 python 2.7 版本中制作了一个编程模型,并希望通过在 Docker 文件中使用它在 Centos 6.8 版本上运行它。
目前我的Docker File中有两个版本的python:
-
2.6.6(默认无法移除)
2.7.8
但是当我开始使用 pip 安装库时,它会安装在 python 2.6 版本中
我想制作一个 Docker 文件,这样人们就不需要手动进入容器并创建系统链接来使用它。
它应该全部包含在 Docker 文件本身中。 有没有人可以让我清楚地知道这仅在 Centos 6 中是如何实现的。
【问题讨论】:
为什么一定要Centos 6?为什么不能使用现有的 Python 图像? 在任何情况下,默认的 Python 首先在 PATH 上。这与 CentOS 6 无关。***.com/questions/27093612/… @cricket_007 因为我们在那个环境中已经有一个预先存在的系统。 【参考方案1】:您想在 Dockerfile 中安装 python 2.7 吗?
FROM centos:6.8
RUN yum -y update
RUN yum install -y epel-release && yum groupinstall -y 'development tools'
RUN yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel xz-libs wget
RUN wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
RUN tar xvfJ Python-2.7.8.tar.xz
WORKDIR Python-2.7.8
RUN ./configure --prefix=/usr/local && make && make altinstall
RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7
在这个容器内,版本 2.6.6 仍然是默认的,要使用 python 2.7.8,你必须明确指定 python2.7
:
[root@79f3f51d0000 ~]# which python
/usr/bin/python
[root@79f3f51d0000 ~]# which python2.7
/usr/local/bin/python2.7
[root@79f3f51d0000 ~]# which pip2.7
/usr/local/bin/pip2.7
【讨论】:
make altinstall
是否应该已经运行了默认的 make 目标?
但是当我通过 pip 安装库时,它进入了 python2.6 版本的包文件。有没有办法安装python2.7版本包中的所有库?
@Riturajkumar 只有 Python 2.7.9+ 预装了pip
。 2.7.8需要单独安装pip
@cricket_007 能否请您指定如何使用 2.7.8 单独安装 pip。因为我无法将 pip 安装到特定的 python 2.7 版本?
@Riturajkumar 有一个专门用于此的页面。将python
替换为python2.7
pip.pypa.io/en/stable/installing以上是关于Docker:如何在 Centos 6.8 docker 文件中设置和使用 python 2.7的主要内容,如果未能解决你的问题,请参考以下文章
2docker安装 on centos 6.8(64bit)
2docker安装 on centos 6.8(64bit)