python - 如何在 Azure Redhat Linux VM 上更新 python?

标签 python linux azure virtual-machine

我创建了一个预装了 python 2.7.5 的 Azure Redhat Linux VM。我需要将其更新到最新版本,以便我可以在其上安装 databricks CLI 来访问 DBFS。需要有关如何执行此操作的帮助。

尝试过:

$ sudo yum update python

结果:

Loaded plugins: langpacks, product-id, search-disabled-repos
No packages marked for update

我需要至少 2.7.9 版本的 python 才能安装 databricks CLI。 我没有本地 Linux 服务器。只有 Windows,没有管理员权限在 PowerShell 上安装 python。

最佳答案

一般情况下,Linux发行版的默认Python版本取决于Linux发行版的版本。因此,如果您在 Azure VM 上创建了最新版本的 RedHat Linux,则可以通过以下步骤升级默认的 Python 2 版本。

  1. 通过yum info python检查是否存在您想要的Python升级版本或yum list python .
  2. 如有升级版本,可通过 yum -y upgrade python 进行升级或yum -y update python .

对于较旧的Linux发行版,Python有版本上限,例如2.7.5我猜想,您当前的 RedHat Linux VM 上的 Python 2 是这样的。所以你不能简单地通过系统包管理器升级它yum从默认包存储库安装更高版本。然后,我们需要下载指定版本的Python源码,在当前环境下编译安装。

有一个博客 How to Install or Upgrade Python in Linux Systems 介绍如何做。

这是我安装 Python 2.7.9 的步骤。

  1. 确保有编译器工具包 gcc & g++安装在您当前的环境中。通过gcc -v查看和g++ -v 。通过 yum -y install gcc gcc-c++ 安装以及其他依赖项,如 zlib , zlib-dev , openssl , openssl-dev , ncurses-libs , readline-devel , sqlite-devel , bzip2-devel , gdbm-devel , libdbi-devel ,等等。
  2. 从Python官方FTP $ wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz下载源码包.
  3. 通过 tar -zxvf Python-2.7.9.tgz 解压.
  4. cd Python-2.7.9 .

如果您只是想暂时使用Python 2.7.9,后续步骤如下。

  • ./configure && make
  • 配置PATH环境变量通过 export PATH=$HOME/<the parent path>/Python-2.7.9/:$PATH
  • 然后,您可以在当前 Shell session 中使用 Python 2.7.9。
  • 如果你想将Python 2.7.9安装到 /usr/local并且不要破坏当前默认的Python版本,以避免可能的系统崩溃问题,后续步骤如下。

  • ./configure --prefix=/usr/local
  • make && sudo make altinstall
  • 然后,您可以通过python2.7使用Python 2.7.9 。您可以通过python -V查看所有Python版本, python2 -Vpython2.7 -V .
  • 希望有帮助。

    关于python - 如何在 Azure Redhat Linux VM 上更新 python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54654760/

    相关文章:

    linux - 执行参数错误

    linux - AWS ElasticBeanstalk 上的 Docker : "host.docker.internal: host-gateway": Connection refused. Iptables 问题?

    python - 部署 ARM 模板时出错。找不到与模板文件模式匹配的任何文件

    python - 如何从结构化 numpy.array 访问多个字段?

    python - 'if' 后面没有条件语句

    python - 当我执行 GET 请求时(在 Python 中),我得到了翻译的文本。如何获取英文内容?

    python - 订购两台已排序的发电机,无需进口

    ios - 为什么 mmap() 使用 MAP_FAILED 而不是 NULL?

    azure - 如何在 Azure 中创建多个具有不同规范的 VM

    azure - azure 中是否有相当于 aws eip 的东西?除了负载均衡器