【问题标题】:How to upgrade default python version on linux (redhat)?如何在 linux (redhat) 上升级默认 python 版本?
【发布时间】:2023-12-15 12:28:01
【问题描述】:

能否请您告诉我在 linux 上升级 python 的最佳方法?我需要它,因为我的 redhat linux 机器默认提供 2.6.6 版本。如果我安装 python 2.7 那么它会破坏 yum 和 mod_wsgi。有没有人找到最好的方法来做到这一点?我真的需要这个来进行烧瓶网络开发。

我尝试了https://danieleriksson.net/2017/02/08/how-to-install-latest-python-on-centos/ 步骤,但它导致了 mod_wsgi(在 2.6 上)出现问题。

补充一下 - 我已经阅读并尝试了几乎所有与此主题相关的内容,但未能成功。因此,我问这个问题是否有人已经想出了办法。

【问题讨论】:

标签: python flask mod-wsgi yum


【解决方案1】:

您可以并排安装多个版本的 python。使一个“默认”成为“默认”的是/usr/bin 中的pythonpython2 符号链接。

但是,出于您列出的原因等等,您绝对不应该更改 Redhat 上的默认 python。

相反,您需要告诉 WSGI 使用哪个 python。这个问题涵盖了:Run mod_wsgi with virtualenv or Python with version different that system default

此外,根据这个答案 (Deploying Python Flask App on Apache with Python version installed in Virtual Environment Only),您可能需要针对要使用的 python 版本编译自定义 wsgi。

【讨论】:

  • 谢谢,我会试试这个并告诉你,但我确信我尝试过类似的东西。
【解决方案2】:

除了 SpliFF 所说的,你可以创建一个虚拟环境,并使用 -p 标志设置你想要使用的 python 版本。

【讨论】:

  • 我刚刚更改了答案,因为我认为 WSGI 不使用 shebangs。
  • 啊,那我错了。
【解决方案3】:

对于基于 RedHat 的操作系统,请使用 Python 的 SCL 版本。

它们安装在不同的区域,因此不会冲突。

SCL 中没有 mod_wsgi,所以使用pip 方法安装它,然后将 Apache 链接到它。详情在:

【讨论】:

  • 谢谢!我会试一试,看看是否有帮助
最近更新 更多