【问题标题】:Latest centos docker image does not have python3 in yum repositories最新的 centos docker 镜像在 yum 存储库中没有 python3
【发布时间】:2019-10-02 13:54:31
【问题描述】:

我正在尝试 dockerize 我的 python 代码,但 centos 最新图像的存储库包中根本没有 python3。

我试过了:

Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirror.karneval.cz
 * extras: mirror.karneval.cz
 * updates: mirror.karneval.cz
=============================================================================================== Matched: python3 ===============================================================================================
nbdkit-plugin-python-common.x86_64 : Python 2 and 3 plugin common files for nbdkit
pki-base.noarch : Certificate System - PKI Framework
pki-base-java.noarch : Certificate System - Java Framework
pki-ca.noarch : Certificate System - Certificate Authority
pki-javadoc.noarch : Certificate System - PKI Framework Javadocs
pki-kra.noarch : Certificate System - Key Recovery Authority
pki-server.noarch : Certificate System - PKI Server Framework
pki-symkey.x86_64 : Symmetric Key JNI Package
pki-tools.x86_64 : Certificate System - PKI Tools
[root@4b59e89e3e4e /]#

实际结果是在默认存储库中实际包含 python3,因为 python 2 将达到生命的尽头。也因为如果你用 pip 运行任何 python2 安装,它会清楚地告诉你它的生命已经结束,所以 centos 应该默认拥有它

请您确认一下,以便我向 centos 提交错误报告或提醒他们 python3 在默认存储库中至关重要

【问题讨论】:

  • 手动编译也是唯一明显的选择。我还没有尝试从 centos 添加一些(实验性)存储库。我花了 10 多分钟在 3,1 GHz Intel Core i7 机器上编译,16GB RAM .....真的,这很可耻,因为即使 alpine 默认在存储库中也有 python3 ....
  • 感谢@shree 的格式化。我会处理下一篇文章的格式

标签: python-3.x image docker centos


【解决方案1】:

我测试了一些其他图像,比如 Ubuntu:latest 和 alpine:latest 和 python3,默认情况下没有安装,但它在 repos 中,你可以通过包管理器安装

在 Centos:latest 中,我可以确认 python3 不在图像的默认配置 Repos 中 但是,您可以在来自数字海洋的tutorial 中提到的其他 Repos 中找到它,我引用了

CentOS 源自 RHEL(Red Hat Enterprise Linux),其主要关注点是稳定性。因此,经过测试和稳定的应用程序版本是系统和可下载软件包中最常见的版本,因此在 CentOS 上您只能找到 Python 2。

因此,您可以根据需要继续提交问题,但为了节省您的时间,直到他们解决此问题,您可以按照旧的教程进行操作

【讨论】:

    【解决方案2】:

    我在centos:latest Docker image中需要python3.5或更高版本,发现可以通过以下方式轻松获取:

    RUN yum -y install epel-release
    RUN yum -y install python3 python3-pip
    

    这样我得到:

    [user@machine /]# python3 --version
    Python 3.6.8
    

    我可以使用“pip3 install package”来安装额外的python包。它不在默认包中,而是在 https://fedoraproject.org/wiki/EPEL 中。我建议在 python 脚本的第一行指定 python 版本:#!/usr/bin/env python3

    【讨论】:

      猜你喜欢
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多