Ansible: فشل تشغيل البرنامج النصي Python للمخزون الديناميكي في AWS

تم إنشاؤها على ١٩ أغسطس ٢٠١٦  ·  2تعليقات  ·  مصدر: ansible/ansible

نوع القضية
  • تقرير الشوائب
    اسم المكون

الجرد الديناميكي: ec2.py

نسخة غير مرغوب فيها
ansible 2.1.0.0
Python 2.7.10
نظام التشغيل / البيئة

نظام التشغيل Mac OS X 10.11.6

ملخص

يؤدي تشغيل ec2.py المستقل إلى حدوث خطأ في الاستيراد.

خطوات التكاثر
  1. تحميل ec2.py النصي المخزون ديناميكية وملف ec2.ini كما أشرنا في المستندات .
  2. قم بتشغيل البرنامج النصي باستخدام Python 2.7
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
نتائج متوقعة

قائمة الأمثلة

النتائج الفعلية

خطأ أعلاه.

الحل

إذا قمت بالتعليق خارج السطر from ansible.module_utils import ec2 as ec2_utils فإن النص يعمل بشكل جيد.

تم تقديم الخط في # 16606.

aws bug cloud

التعليق الأكثر فائدة

من الرائع سماع أنه ليس خطأ. هل هذا موصوف في مكان ما في الوثائق؟

اكتشفت سبب ذلك في نهايتي: تثبيت Ansible باستخدام brew جعل ansible غير متاح لمترجم Python الخاص بي.

لإصلاح ذلك ، قمت بإلغاء تثبيت Ansible وقمت بتثبيته مرة أخرى باستخدام نقطة:

brew uninstall ansible
pip install ansible

الآن متاح:

python -c "import ansible;print(ansible.__version__)"
2.1.1.0

ويعمل البرنامج النصي كما هو متوقع.

قد يكون من الجدير ذكر هذا في مكان ما في التوثيق ، أو جعل البرنامج النصي يعرض خطأ إعلاميًا إذا كان ansible غير متوفر في مسار Python.

ال 2 كومينتر

jonatanblue تمت إضافة الاستيراد بواسطة https://github.com/ansible/ansible/commit/59e499f8f00e4068b68c147b8f3002535ad706e0 والذي يبدو أنه محاولة لتطبيع كود إعداد عميل boto.

المعنى الضمني هو أنه من أجل استخدام البرنامج النصي للمخزون ، يجب أن يكون لديك ansible مثبتًا على الجهاز بحيث يكون "ansible" متاحًا في مسار Python لمترجم Python الافتراضي الخاص بك. نخطط للاستفادة بشكل أكبر من المكتبات الثابتة في نصوص المخزون الديناميكي بمرور الوقت ، لذلك لن أعود إلى هذا التغيير.

من الرائع سماع أنه ليس خطأ. هل هذا موصوف في مكان ما في الوثائق؟

اكتشفت سبب ذلك في نهايتي: تثبيت Ansible باستخدام brew جعل ansible غير متاح لمترجم Python الخاص بي.

لإصلاح ذلك ، قمت بإلغاء تثبيت Ansible وقمت بتثبيته مرة أخرى باستخدام نقطة:

brew uninstall ansible
pip install ansible

الآن متاح:

python -c "import ansible;print(ansible.__version__)"
2.1.1.0

ويعمل البرنامج النصي كما هو متوقع.

قد يكون من الجدير ذكر هذا في مكان ما في التوثيق ، أو جعل البرنامج النصي يعرض خطأ إعلاميًا إذا كان ansible غير متوفر في مسار Python.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات