From Fedora Project Wiki


Update comps to use python3

Summary

Change the comps groups python-classroom, engineering-and-scientific, development-libs, cloud-management, font-design, mysql, robotics-suite, authoring-and-publishing and electronic-lab to use python3 packages instead of the python2 ones. Remove python-web group.

Owner

  • Name: Miro Hrončok
  • Email: mhroncok@redhat.com
  • Release notes owner:

Current status

Detailed Description

As the whole distro moves towards Python 3 as "the default" and with the upstream EOL of Python 2 set to 2020-01-01, we want to update comps to use Python 3 packages instead of Python 2 ones.

Here is the list as of 2017-07-09, note that it might slightly change as long as changes in comps are done prior to this change happening.

python-classroom

Remove all python2 packages (except python2-virtualenv as long as it brings the virtualenv command).

python-web

Remove this group. It has weird stuff and the motivation for it is long lost.

engineering-and-scientific

Replace python2-matplotlib, python2-scipy, python2-biopython, python2-cvxopt, python2-networkx, python2-theano with python3 counterparts.

development-libs

Replace python-devel with python3-devel. Remove python-ldap and python-ZODB3 (they have python3 ready variants, but so does plenty of others, we don't see a point of those being in the group).

cloud-management

Replace python-boto with python3-boto; python-libcloud with python3-libcloud; python-openstackclient with python3-openstackclient.

font-design

Replace python-fontMath with python3-fontMath. Remove retired python-compositor, python-robofab, python-ufo2fdk.

mysql

Replace python-mysql with python3-mysql.

robotics-suite

Replace python-bloom, python-catkin_lint, python-catkin_pkg, python-catkin_tools, python-rosdep, python-rosdistro, python-rosinstall, python-rosinstall_generator, python-rospkg, python-vcstools and python-wstool with their python3- counterparts.

authoring-and-publishing

Replace python-docutils with python3-docutils and python-manuel with python3-manuel.

electronic-lab

Replace python-myhdl with python3-myhdl.

Not changed: ansible-node

ansible-node will stay python2 based as explained in pagure.io/fedora-comps/issue/290

Benefit to Fedora

Users won't get legacy Python stuff with comps groups, but new Python 3 stuff. See also Finalizing Fedora's Switch to Python 3.

Scope

  • Proposal owners:

Submit a PR to fedora-comps with the described changes.

  • 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

When installing a group, Python 2 is not pulled in as a dependency unless actually needed.

Dependencies

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? No
  • Blocks product? No

Documentation

N/A (not a System Wide Change)

Release Notes

TBD