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.

Reply via email to