在 CentOS 6.6 上安装 Azure CLI 时出错

在 CentOS 6.6 上安装 Azure CLI 时出错

如何在 CentOS 6.6 上安装 azure CLI。

python -V -> Python 2.6.6
which python -> /usr/bin/python 

/usr/local/bin/python2.7 -V -> Python 2.7.13

curl -L https://aka.ms/InstallAzureCli | bash  

错误:CLI 不支持低于 2.7 的 Python 版本。

我如何让上述脚本安装 Python 2.7。

谢谢

答案1

您可以从 SCL 安装 python2.7。如果您不想构建某些东西或希望将 python2.6 作为 CentOS 中的默认设置。

# 1. Install a package with repository for your system:
# On CentOS, install package centos-release-scl available in CentOS repository:
$ sudo yum install centos-release-scl

# On RHEL, enable RHSCL repository for you system:
$ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms

# 2. Install the collection:
$ sudo yum install python27

# 3. Start using software collections:
$ scl enable python27 bash

更多信息这里

答案2

Azure CLI 2.0 需要 python 2.7。我在我的 Centos 6.8 VM 中测试。Python 2.6 无法升级 2.7。因此,正如 Khaled 所说,您需要下载 python 2.7 并安装它。

请参考下列步骤:

yum groupinstall "Development tools" ##If you meet error, ignore it
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
##download python 2.7 and install it
cd /opt
wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure --prefix=/usr/local
make && make altinstall
##create link
ln -sf /usr/local/bin/python2.7 /usr/local/bin/python

然后,你需要编辑 $PATH,添加/usr/local/bin如下/etc/profile内容

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /usr/local/bin
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else

然后source /etc/profile

检查结果。

[root@shui bin]# which python
/usr/local/bin/python

有关此内容的更多信息,请参阅关联

答案3

解决方案不止一个:

  1. 下载安装脚本并修改它以使用 python 解释器的完整路径,/usr/local/bin/python2.7以避免在调用 python 时出现任何歧义。然后,您可以运行修改后的安装脚本。
  2. 创建指向较新的 Python 解释器的链接,并将其放置在$PATH环境变量中较早的位置。因此,将使用引用较新版本的第一个实例。

答案4

解决 Azure CLI 2 Python 2.7 依赖关系和 CentOS 6.x 不兼容性的另一种方法是使用 Azure CLI Docker 映像:

在 Docker 容器中运行 Azure CLI 2.0 | Microsoft Docs

相关内容