在Azure VM上运行Ansible的库错误

时间:2019-06-11 20:49:31

标签: azure ansible

模块未加载错误在Azure上运行ansible。

尝试在Azure上安装ansible并运行一些测试代码

尝试测试在Azure VM上安装ansible的某些部署。 -在虚拟机中安装了以下软件包 -天蓝色特定 --zure python SDK模块的安装软件包

sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev python-pip

-安装Ansible软件包

sudo pip install ansible[azure]
sudo pip install msrestazure
sudo pip install msrest

尝试创建资源组时,出现库未加载错误

---
- hosts: localhost
  connection: local
  tasks:
    - name: Create resource group
      azure_rm_resourcegroup:
        name: ansible-rg
        location: centralus
      register: rg
    - debug:
        var: rg

得到错误,

  

任务[创建资源组]   ****************************************************** ****************************************************** *********任务执行期间发生异常。看到完整   追溯,使用-vvv。错误是:ImportError:未命名模块   致命:[localhost]:失败! => {“已更改”:false,“ msg”:   “无法在以下位置导入所需的Python库(msrestazure)   的Python / usr / bin / python。请阅读模块文档和   安装在适当的位置”}

     

PLAY RECAP

     
     

创建资源组

1 个答案:

答案 0 :(得分:1)

通常,如果您使用python2并执行命令sudo pip install,则它将在/usr/local/lib/python2.7/dist-packages路径中安装软件包。但是,如果您更改环境的某些内容却不知道,则会出现一些错误,并且您也不知道。

因此,我建议您使用虚拟环境,它不会影响您的实际环境。因此,请按以下步骤操作:

sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev python-pip
sudo pip install virtualenv
sudo mkdir ansible
sudo virtualenv ansible
cd ansible
source bin/activate

现在虚拟环境已准备就绪,您可以在其中安装ansible。

sudo pip install ansible[azure]

然后使用服务主体在路径〜/ .azure /中创建凭据文件。并且,当您安装ansible[azure]时,软件包msrestmsrestazure已经安装。因此,您无需再次安装它们。然后,您可以尝试再次创建资源组。