簡體   English   中英

運行Ansible命令時的Python版本

[英]Version of Python when running Ansible commands

我正在使用OSX.10.12.6

我通過pip3安裝了ansible(為了將其與Python3一起使用,因為默認情況下我的計算機上已經安裝了Python2),並從Ansible github下載了ec2.py外部清單腳本

但是在運行ansible命令時,出現錯誤:

[WARNING]:  * Failed to parse 
~/ec2.py with script plugin: Inventory script
~/ec2.py) had an execution error: Traceback (most recent call last):   File
"~/ec2.py", line 130, in <module>     import boto ImportError: No module named boto

似乎是因為ansible使用的是Python2而不是Python3(我檢查過,我無法從Python2導入boto或ansible,但可以從Python3導入)。 我也可以成功運行以下python3 ec2.py

令人驚訝的是,如果我運行ansible --version ,則會得到以下信息:

ansible 2.8.3
config file = ~/ansible.cfg
configured module search path = ['/Users/XXXX/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
executable location = /usr/local/bin/ansible
python version = 3.6.5 (default, Mar 30 2018, 06:42:10) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)]

我能做些什么來“強迫”使用Python3而不是Python2嗎?

PS:請注意,我可以通過在Python2上進行pip install boto來解決最初的錯誤,但是會彈出其他錯誤,而寧願使用Python3

FreeBSD Quarterly(Stable)Ports Branch今天發布了2019Q3的 Ansible 2.7.10 HEAD在上周日升級到Ansible 2.8.3 結論是,FreeBSD決定不將2.8.3放入STABLE分支。 可能的原因之一是Ansible 2.8 Python解釋器發現中的新功能。 請參閱使用FLAVORS 因此,您可以降級到Ansible 2.7,或者繼續修復HEAD(在MacOS中)。

可能值得嘗試將ansible_python_interpreter設置為Python 2.7。


(有些人可能會認為這是一個評論。我從這里開始,但時間太長了。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM