azure - 在 azure vm 上运行 ansible 的库错误
问题描述
在 Azure 上运行 ansible 时模块未加载错误。
尝试在 Azure 上安装 ansible 并运行一些测试代码
尝试在 Azure VM 上测试一些安装 ansible 的部署。--在 VM 中安装以下包 --Azure 特定 --安装 azure 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: No module named typing fatal: [localhost]: FAILED! => {"changed": false, "msg": "无法在 Python /usr/bin/python 上导入所需的 Python 库 (msrestazure)。请阅读模块文档并安装在适当的位置"}
播放回顾
创建资源组
解决方案
通常,如果您使用 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]
,软件包msrest
和msrestazure
已经安装。因此,您无需再次安装它们。然后您可以尝试再次创建资源组。
推荐阅读
- python - 如何在一个项目中使用多个 .py 文件解决方案 Python VS
- graph - Neo4j上的RelationshipEntity和关系之间的区别
- c# - C# 相机帧事件更新图片框是否安全?我收到间歇性错误:“System.Drawing.dll .. 参数无效。”
- highcharts - Highcharts 堆积列不合并相似的数据集
- angular - 如何一次将多个文件上传到 Firebase 存储?
- stdin - openmpi、termios 和标准输入
- javascript - 在退格键上搜索原始数据
- node.js - node.js 中的 try-catch 设置
- apache-spark - 提交 Apache Spark 作业时在 spark.jars 中使用通配符
- python - 使用 Python 抓取 ReferenceUSA