From Fedora Project Wiki
Leave python3 module enabled in releases
Once python 3 support has been added to a package, you must leave it enabled. End users could be using the python3 subpackage that is being built. If you turn the subpackage build on and off it will cause the package to unexpectedly disappear from the repos. You should only turn off with_python3 as a debugging measure within scratch builds, for releases that do not support python 3, or when moving a python3 module into its own, independent package.
Name:           python-setuptools
Version:        0.6.10
Release:        2%{?dist}
Summary:        Easily build and distribute Python packages

Group:          Applications/System
License:        Python or ZPLv2.0
URL:  {srcname}
# Fix a failing test case
Patch0:         python-setuptools-test.patch

Provides:       python2-setuptools
BuildArch:      noarch
BuildRequires:  python2-devel
%if 0%{?with_python3}
BuildRequires:  python3-devel
%endif # if with_python3

When we build the python3 module in addition to the python2 module we need both python2-devel and python3-devel.

Provides for python2 package
As you can see in the specfile definition python-setuptools provides python2-setuptools this is because the meaning of the /usr/bin/python (and hence expectation of what python-setuptools package should provides) may change from pointing to /usr/bin/python2 to /usr/bin/python3 in the future so we want to explicitly provides python2 packages to make any future change to meaning of the /usr/bin/python as non destructive as possible.