From Fedora Project Wiki

Ansible python3 default


Ansible started out as a python2 only application, but in recent years a large amount of work has gone into porting things to python3. Last year, the Fedora ansible package started shipping a ansible-python3 allowing users to switch to python3 on the control host easily if they wished, but left the default as python2. Now in Fedora 29, the default will be switched and the python3 version will be the only version shipped.


  • Name: Kevin Fenzi
  • Email:
  • Release notes owner:

Current status

Detailed Description

The Fedora ansible package will be changed to default to python3 with the 'ansible' package. Note that this change is on the control host, you can control what python is used on target hosts via your inventory. You may continue to use python2 there, or use python3 as your target hosts require.

Benefit to Fedora

Less python2 usage in the world, along with using the version of python that upstream is preferring. 


  • Proposal owners: Modify ansible package (already done)
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

N/A (not a System Wide Change)


N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product


See for more information, including how to set your target hosts to use python2 or 3.

N/A (not a System Wide Change)

Release Notes

The ansible package has switched to python3 by default. This means python3 will be used for ansible on your Fedora control host. You can choose which python version your target hosts are using in your inventory.

  • Release Notes tracking: #136