Inventaris Dinamis: ec2.py
ansible 2.1.0.0
Python 2.7.10
Mac OS X 10.11.6
Menjalankan ec2.py standalone menyebabkan kesalahan impor.
python ec2.py --list
Traceback (most recent call last):
File "ec2.py", line 134, in <module>
from ansible.module_utils import ec2 as ec2_utils
ImportError: No module named ansible.module_utils
Daftar contoh
Kesalahan di atas.
Jika saya mengomentari baris from ansible.module_utils import ec2 as ec2_utils
skrip berjalan dengan baik.
Garis itu diperkenalkan pada # 16606.
@jonatanblue impor itu ditambahkan oleh https://github.com/ansible/ansible/commit/59e499f8f00e4068b68c147b8f3002535ad706e0 yang tampaknya merupakan upaya untuk menormalkan kode penyiapan klien boto.
Implikasinya adalah bahwa untuk menggunakan skrip inventaris, Anda harus menginstal sebuahsible pada mesin sehingga "ansible" tersedia di jalur python untuk interpreter python default Anda. Kami berencana untuk memanfaatkan lebih banyak pustaka yang memungkinkan dalam skrip inventaris dinamis dari waktu ke waktu, jadi saya tidak akan mengembalikan perubahan ini.
Senang mendengarnya bukan bug. Apakah ini dijelaskan di suatu tempat di dokumentasi?
Saya menemukan apa yang menyebabkannya di akhir saya: menginstal Ansible dengan brew
membuat mungkin tidak tersedia untuk penerjemah Python saya.
Untuk memperbaikinya, saya menghapus Ansible dan menginstalnya lagi menggunakan pip:
brew uninstall ansible
pip install ansible
Sekarang ansible tersedia:
python -c "import ansible;print(ansible.__version__)"
2.1.1.0
dan skrip berfungsi seperti yang diharapkan.
Mungkin ada baiknya menyebutkan ini di suatu tempat di dokumentasi, atau meminta skrip menampilkan kesalahan informatif jika ansible
tidak tersedia di jalur python.
Komentar yang paling membantu
Senang mendengarnya bukan bug. Apakah ini dijelaskan di suatu tempat di dokumentasi?
Saya menemukan apa yang menyebabkannya di akhir saya: menginstal Ansible dengan
brew
membuat mungkin tidak tersedia untuk penerjemah Python saya.Untuk memperbaikinya, saya menghapus Ansible dan menginstalnya lagi menggunakan pip:
Sekarang ansible tersedia:
dan skrip berfungsi seperti yang diharapkan.
Mungkin ada baiknya menyebutkan ini di suatu tempat di dokumentasi, atau meminta skrip menampilkan kesalahan informatif jika
ansible
tidak tersedia di jalur python.