Hi, there is a issue with the spec: %install %py2_install %if 0%{with_python3} %py3_install %endif And then in both packages: %{_bindir}/%{pypi_name} This mean you are including in the python2 subpackage a executable than requires the python3 version of this package, you must update your spec to something like: %install %py2_install mv %buildroot/%{_bindir}/%{pypi_name} %buildroot/%{_bindir}/%{pypi_name}-py2 and then in the python2 subpackage %{_bindir}/%{pypi_name}-py2 See: https://fedoraproject.org/wiki/Packaging:Python#Avoiding_collisions_between_the_python_2_and_python_3_stacks
Actually, the guidelines specify how the scripts should be named, so that users can use a sane "default" but also explicitly request a specific version: https://fedoraproject.org/wiki/Packaging:Python#Naming There are two cases: 1) If the script works the same under both python2 and python3, only the python3 scripts can be packaged 2) Otherwise, there should be /usr/bin/script, /usr/bin/script-2, /usr/bin/script-2.7 for Python 2, and /usr/bin/script-3, /usr/bin/script-3.5 for Python 3. You can do that like this: %py3_install mv %{buildroot}/%{_bindir}/%{pypi_name} %{buildroot}/%{_bindir}/%{pypi_name}-3 ln -s %{buildroot}/%{_bindir}/%{pypi_name}-3 %{buildroot}/%{_bindir}/%{pypi_name}-%{python3_version} %py2_install ln -s %{buildroot}/%{_bindir}/%{pypi_name} %{buildroot}/%{_bindir}/%{pypi_name}-%2 ln -s %{buildroot}/%{_bindir}/%{pypi_name} %{buildroot}/%{_bindir}/%{pypi_name}-%{python2_version}
Reassigning to myself as provenpackager.
Updated to 0.5.1, I fixed the symlinks, now default binary is python3 version.