我尝试通过 pip install ansible 安装 ansible,但是每当我尝试使用它时遇到以下错误:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\ruan.greyling\AppData\Local\Programs\Python\Python311\Scripts\ansible.exe\__main__.py", line 4, in <module>
File "C:\Users\ruan.greyling\AppData\Local\Programs\Python\Python311\Lib\site-packages\ansible\cli\__init__.py", line 42, in <module>
check_blocking_io()
File "C:\Users\ruan.greyling\AppData\Local\Programs\Python\Python311\Lib\site-packages\ansible\cli\__init__.py", line 34, in check_blocking_io
if not os.get_blocking(fd):
^^^^^^^^^^^^^^^
AttributeError: module 'os' has no attribute 'get_blocking'
我的机器上安装了 python 和 pip。
这就是您收到此错误的原因。
良好实践代码存储库并从 Windows 计算机同步到您的 Linux 控制节点。
在工作中使用 Windows 机器时遇到同样的问题(我无法安装 WSL)。如果您从 PyPi 安装 Windows 版本的软件包,您可以在 Windows 计算机上使用 ansible-vault CLI 命令。
pip install ansible-vault-win
https://pypi.org/project/ansible-vault-win/
$ ansible-vault decrypt secrets.yml
Vault password:
Decryption successful
看起来这可能是Python 3.11的版本兼容性问题。我建议升级到最新版本的 Python,然后再次运行该命令。