Quantcast
Channel: 不自量力 の Weithenn
Viewing all articles
Browse latest Browse all 598

No module named winrm | Ansible WinRM

$
0
0


Question: No module named 'winrm'

嘗試使用 Ansible win_ping 模組,測試是否能夠連接 Windows 主機時,卻發生「winrm or requests is not installed: No module named 'winrm'」的錯誤訊息,但檢查後發現是有安裝 pywinrm 模組的?



使用「ansible -m python_requirements_info -a dependencies=winrm localhost」指令檢查時,系統確實是找不到 winrm 模組?






Answer:

查了很多資料之後,突然發現系統的 Python 版本為 3.9.16,但是 Ansible 檢查版本時卻顯示 Python 版本為 3.11.2


嘗試使用 alternatives 去切換主機的 Python 版本為 3.11,想說應該就可以匹配完成了吧?


但還是沒有解決匹配的問題,依然出現找不到 WinRM 模組的錯誤。後來,索性一個步驟一個步驟檢查,發現透過「sudo dnf -y install ansible」指令安裝 Ansible 時,便會讓 Ansible 使用相較於系統較新的 Python 3.11.2


改為採用「sudo pip3 install ansible」方式安裝,那麼 Ansible 便能使用跟系統一樣的 Python 3.9.16,也就能正確找到 WinRM 模組並執行指令正確連接到 Windows 主機。







參考資源


Viewing all articles
Browse latest Browse all 598

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>