ansible /usr/bin/python: not found error

  • ممکن است در زمان اتصال به node ها با این خطا مواجه شوید :
10.1.0.225 | FAILED! => {
    "changed": false,
    "module_stderr": "Shared connection to 10.1.0.225 closed.\r\n",
    "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
    "msg": "MODULE FAILURE",
    "rc": 127
}
  • همان طور که در خط چهارم مشاهده می کنید، خطا اشاره به این دارد که در سیستم هاست یا node آدرسی با نام usr/bin/python/ یافت نشده است.
  • به صورت پیشفرض با نصب python 2.x در سیستم، این آدرس با نام python به صورت symbolic link از روی پرونده اصلی python2.x ساخته می شود.
  • همچنین به صورت پیشفرض با نصب python 3.x در سیستم، این آدرس با نام python3 به صورت symbolic link از روی پرونده اصلی python3.x ساخته می شود.
  • برای حل این موضوع می توان به چند طریق عمل کرد.

روش اول – نصب python 2.x

  • در این روش می توان بسته python 2.x را در هر node نصب کرد.
  • همچنین در صورتی که فایل symbolic link از روی python2.x ساخته نشد، آن را به صورت دستی ایجاد می کنیم. به عنوان مثال :
ln -s /usr/bin/python2.7 /usr/bin/python
  • تست شده با node های ubuntu 16.04

روش دوم – ایجاد symbolic link

  • در این روش می توان یک symbolic link از روی python3.x ایجاد کرد.
  • به عنوان مثال :
ln -s /usr/bin/python3.7 /usr/bin/python
  • تست شده با node های ubuntu 18.04 و ubuntu 16.04

روش سوم – تعیین متغیر محلی در سرور

  • در این روش می توان اجرای ابزار انسیبل را با متغیر محلی آغاز کرد. برای این منظور :
ansible -i host.list all -m ping -e ansible_python_interpreter=/usr/bin/python3
  • تست شده با node های ubuntu 18.04 – ubuntu 16.04

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *