still doesn't make sense to me, or doc is not clear My controller Tower/AWX : python3 installed on system virtual environment to run ansible installed as per the doc : python3 -m pip install ansible Yet, I see playbooks using python3 , but what is that usr/bin/python ?
Why is ansible still using python2 please ? Le jeudi 8 avril 2021 à 16:11:30 UTC-7, Nick-H a écrit : > Now, I tried that in my ansible.cfg and indeed it passed my errors , > thank you Matt ! > I am still a bit confused though , Why do we bother creating virtual > environments if eventually ansible keeps trying to use a system-wide > installed python ? > really , why is that ? > > thanks for enlightenment > > Le jeudi 8 avril 2021 à 12:07:43 UTC-7, Nick-H a écrit : > >> >> hmm ok but this runs on the controller ( awx ) , so I followed this doc : >> >> https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html#on-the-controller-side >> >> Do I need to use the interpreter var in that case ? >> >> >> >> >> Le jeudi 8 avril 2021 à 11:59:30 UTC-7, Matt Martz a écrit : >> >>> If you want a module to run with python3, you will generally need to set >>> `ansible_python_interpreter` for that host to get it to use the interpreter >>> you want. We default and fallback to py2. >>> >>> On Thu, Apr 8, 2021 at 1:23 PM Nick-H <[email protected]> wrote: >>> >>>> Oh No.... I want to get rid of python2 for my ansible playbooks :( >>>> been fighting this for weeks ... >>>> >>>> from ansible itself it seems to be running on python3 : >>>> ansible-playbook 2.8.12 >>>> config file = /var/lib/awx/tmp/.../project/ansible.cfg >>>> configured module search path = ['/var/lib/awx/tmp/.../project/library'] >>>> ansible python module location = >>>> /opt/venvs/py3_ansible28/lib/python3.6/site-packages/ansible >>>> executable location = /opt/venvs/py3_ansible28/bin/ansible-playbook >>>> python version = 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 >>>> 20150623 (Red Hat 4.8.5-44)] >>>> >>>> >>>> Is that the KW marker '*' that make you find I run on python2 ? Is that >>>> not being used on python3 ? >>>> Now I don't really see how to make good use of python3 for ansible if >>>> the underlying system keeps using python2 , is there any good guideline I >>>> could use ? >>>> thanks >>>> >>>> >>>> Le jeudi 8 avril 2021 à 11:11:12 UTC-7, Matt Martz a écrit : >>>> >>>>> If I had to guess, you are executing the module and subsequently >>>>> pymysql with python2. The paths seem to indicate a python3 virtualenv, >>>>> but >>>>> the error indicates that you are executing Python2, with potentially a >>>>> PYTHONPATH pointing to the Python3 venv. >>>>> >>>>> The error is in regards to the "keyword only marker" defined at: >>>>> >>>>> >>>>> https://github.com/PyMySQL/PyMySQL/blob/6ccbecc1a0dfd04065b081950d2d35b1dac0aaa8/pymysql/connections.py#L164-L166 >>>>> >>>>> On Thu, Apr 8, 2021 at 1:03 PM Nick-H <[email protected]> wrote: >>>>> >>>>>> I am trying to move to python 3.6 on centos 7.8 and ansible 2.8.12 >>>>>> Mysql_db module fails importing connections from PyMySQL pip module. >>>>>> At least with recent versions ( 0.9 ,1.0.2 ) using 0.7 pass. >>>>>> >>>>>> the error seems to be related to a PEP recommendation E402 . >>>>>> >>>>>> As per PyMySQL doc , python3 is supported . >>>>>> >>>>>> here is my error: >>>>>> >>>>>> { >>>>>> "module_stdout": "", >>>>>> "module_stderr": "Traceback (most recent call last):\n File >>>>>> \"/var/lib/awx/.ansible/tmp/ansible-tmp-1617903869.1782537-29212-149280496397207/AnsiballZ_mysql_db.py\", >>>>>> >>>>>> line 114, in <module>\n _ansiballz_main()\n File >>>>>> \"/var/lib/awx/.ansible/tmp/ansible-tmp-1617903869.1782537-29212-149280496397207/AnsiballZ_mysql_db.py\", >>>>>> >>>>>> line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, >>>>>> ANSIBALLZ_PARAMS)\n File >>>>>> \"/var/lib/awx/.ansible/tmp/ansible-tmp-1617903869.1782537-29212-149280496397207/AnsiballZ_mysql_db.py\", >>>>>> >>>>>> line 49, in invoke_module\n imp.load_module('__main__', mod, module, >>>>>> MOD_DESC)\n File \"/tmp/ansible_mysql_db_payload_3i8jCj/__main__.py\", >>>>>> line 110, in <module>\n File >>>>>> \"/tmp/ansible_mysql_db_payload_3i8jCj/ansible_mysql_db_payload.zip/ansible/module_utils/mysql.py\", >>>>>> >>>>>> line 33, in <module>\n File >>>>>> \"/opt/venvs/py3_ansible28/lib/python3.6/site-packages/pymysql/__init__.py\", >>>>>> >>>>>> line 59, in <module>\n from . import connections # noqa: E402\n >>>>>> File >>>>>> \"/opt/venvs/py3_ansible28/lib/python3.6/site-packages/pymysql/connections.py\", >>>>>> >>>>>> line 167\n *,\n ^\nSyntaxError: invalid syntax\n", >>>>>> "exception": "Traceback (most recent call last):\n File >>>>>> \"/var/lib/awx/.ansible/tmp/ansible-tmp-1617903869.1782537-29212-149280496397207/AnsiballZ_mysql_db.py\", >>>>>> >>>>>> line 114, in <module>\n _ansiballz_main()\n File >>>>>> \"/var/lib/awx/.ansible/tmp/ansible-tmp-1617903869.1782537-29212-149280496397207/AnsiballZ_mysql_db.py\", >>>>>> >>>>>> line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, >>>>>> ANSIBALLZ_PARAMS)\n File >>>>>> \"/var/lib/awx/.ansible/tmp/ansible-tmp-1617903869.1782537-29212-149280496397207/AnsiballZ_mysql_db.py\", >>>>>> >>>>>> line 49, in invoke_module\n imp.load_module('__main__', mod, module, >>>>>> MOD_DESC)\n File \"/tmp/ansible_mysql_db_payload_3i8jCj/__main__.py\", >>>>>> line 110, in <module>\n File >>>>>> \"/tmp/ansible_mysql_db_payload_3i8jCj/ansible_mysql_db_payload.zip/ansible/module_utils/mysql.py\", >>>>>> >>>>>> line 33, in <module>\n File >>>>>> \"/opt/venvs/py3_ansible28/lib/python3.6/site-packages/pymysql/__init__.py\", >>>>>> >>>>>> line 59, in <module>\n from . import connections # noqa: E402\n >>>>>> File >>>>>> \"/opt/venvs/py3_ansible28/lib/python3.6/site-packages/pymysql/connections.py\", >>>>>> >>>>>> line 167\n *,\n ^\nSyntaxError: invalid syntax\n", >>>>>> "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", >>>>>> "rc": 1, >>>>>> "_ansible_no_log": false, >>>>>> "changed": false >>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Ansible Project" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/ansible-project/c9a3c9a6-f31f-43fc-901f-e328d6d6b1een%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/ansible-project/c9a3c9a6-f31f-43fc-901f-e328d6d6b1een%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> >>>>> >>>>> -- >>>>> Matt Martz >>>>> @sivel >>>>> sivel.net >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Ansible Project" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/ansible-project/1d2f2bc6-6434-429c-b840-30d596356bb2n%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/ansible-project/1d2f2bc6-6434-429c-b840-30d596356bb2n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> >>> >>> -- >>> Matt Martz >>> @sivel >>> sivel.net >>> >> -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/87632da2-fcb1-4db6-85ea-2ec9206e2cedn%40googlegroups.com.
