`zypper dup` indicates `python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5`; what to do now?

zypper dup indicates the below issue and options. Deinstalling what it suggests leads to a snowstorm of other deinstall suggestions (including yast2 parts and perl parts). What’s the suggested approach?

I’m upgrading from here:

# cat /etc/os-release NAME=openSUSE
VERSION="Tumbleweed"
VERSION_ID="20160626"
PRETTY_NAME="openSUSE Tumbleweed (20160626) (x86_64)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:20160626"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
ID_LIKE="suse"

These are the installed python versions:

# pythonpython      python2     python2.7   python3     python3.5   python3.5m  

# ls -al /usr/bin/python*
lrwxrwxrwx 1 root root     9 Jun 15 15:14 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root     9 Jun 15 15:14 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root  6352 Jun 15 15:14 /usr/bin/python2.7
lrwxrwxrwx 1 root root     9 Jun 15 17:03 /usr/bin/python3 -> python3.5
-rwxr-xr-x 2 root root 10504 Jun 15 17:03 /usr/bin/python3.5
-rwxr-xr-x 2 root root 10504 Jun 15 17:03 /usr/bin/python3.5m

At the bottom of the message are a list of the python rpm packages.

This is what zypper dup comes up with:

Problem: python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5, but this requirement cannot be provided Solution 1: Following actions will be done:
  deinstallation of python3-urllib3-1.15.1-2.1.noarch
  deinstallation of python3-wheel-0.29.0-2.1.noarch
  deinstallation of speedtest-cli-0.3.2-4.3.noarch
  deinstallation of python3-six-1.10.0-4.1.noarch
  deinstallation of python3-pycparser-2.14-2.1.noarch
  deinstallation of python3-pyasn1-0.1.9-2.1.noarch
  deinstallation of python3-pyOpenSSL-16.0.0-3.1.noarch
  deinstallation of python3-idna-2.1-1.1.noarch
  deinstallation of python3-chardet-2.3.0-1.4.noarch
 Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch
 Solution 3: break python3-urllib3-1.16-1.1.noarch by ignoring some of its dependencies


Choose from above solutions by number or cancel [1/2/3/c] (c): 

What now?

–jeroen

# rpm -qa | sort | grep pythondbus-1-python-1.2.0-6.9.x86_64
dbus-1-python3-1.2.0-6.9.x86_64
libpython2_7-1_0-2.7.10-4.12.x86_64
libpython2_7-1_0-32bit-2.7.10-4.12.x86_64
libpython3_4m1_0-3.4.1-8.2.x86_64
libpython3_5m1_0-3.5.1-3.3.x86_64
python-2.7.10-4.24.x86_64
python-CherryPy-3.6.0-1.3.noarch
python-base-2.7.10-4.12.x86_64
python-bottle-0.12.7-3.5.noarch
python-configobj-5.0.6-1.4.noarch
python-cups-1.9.72-2.5.x86_64
python-cupshelpers-1.5.7-7.2.noarch
python-curses-2.7.10-4.24.x86_64
python-decorator-3.4.2-1.2.noarch
python-dnspython-1.14.0-1.1.noarch
python-dulwich-0.12.0-1.3.x86_64
python-gobject-3.20.1-1.2.x86_64
python-gobject-Gdk-3.20.1-1.2.x86_64
python-gobject-cairo-3.20.1-1.2.x86_64
python-gobject2-2.28.6-26.8.x86_64
python-gpgme-0.1-119.6.x86_64
python-hgtools-6.3-1.2.noarch
python-iniparse-0.4-19.3.noarch
python-pycurl-7.19.5.1-1.14.x86_64
python-pyudev-0.20.0-1.1.noarch
python-setuptools-20.2.2-1.2.noarch
python-simplejson-3.6.5-1.5.x86_64
python-six-1.10.0-3.3.noarch
python-solv-0.6.22-1.3.x86_64
python-talloc-2.1.6-1.3.x86_64
python-talloc-32bit-2.1.6-1.3.x86_64
python-urlgrabber-3.9.1-15.2.noarch
python-xml-2.7.10-4.12.x86_64
python-yum-3.4.3-17.6.x86_64
python3-3.5.1-3.4.x86_64
python3-apparmor-2.10.1-2.4.x86_64
python3-base-3.5.1-3.3.x86_64
python3-bottle-0.12.9-2.1.noarch
python3-cairo-1.10.0-19.3.x86_64
python3-cffi-1.7.0-1.1.x86_64
python3-chardet-2.3.0-1.4.noarch
python3-coverage-4.1-1.2.x86_64
python3-cryptography-1.4-1.1.x86_64
python3-cups-1.9.72-1.5.x86_64
python3-curses-3.5.1-3.4.x86_64
python3-dbm-3.5.1-3.4.x86_64
python3-gobject-3.20.1-1.2.x86_64
python3-gobject-Gdk-3.20.1-1.2.x86_64
python3-gobject-cairo-3.20.1-1.2.x86_64
python3-idle-3.5.1-3.3.x86_64
python3-idna-2.1-1.1.noarch
python3-nose-1.3.7-2.1.noarch
python3-pip-8.1.1-1.3.noarch
python3-py-1.4.31-2.1.noarch
python3-pyOpenSSL-16.0.0-3.1.noarch
python3-pyasn1-0.1.9-2.1.noarch
python3-pycparser-2.14-2.1.noarch
python3-pycurl-7.43.0-3.2.x86_64
python3-requests-2.10.0-1.1.noarch
python3-setuptools-21.2.1-1.1.noarch
python3-simplejson-3.8.2-2.2.x86_64
python3-six-1.10.0-4.1.noarch
python3-smbc-1.0.15.5-2.2.x86_64
python3-tk-3.5.1-3.4.x86_64
python3-urllib3-1.15.1-2.1.noarch
python3-wheel-0.29.0-2.1.noarch
rpm-python-4.12.0.1-13.2.x86_64
zypp-plugin-python-0.5-1.3.x86_64

Hi
Try another zypper ref/dup it could be a mirror issue. Plus your a few releases behind, 20160703 has just been released so this may take a little while to propagate.

What Malcolm says + repos ??

zypper lr -d

Malcolm/Kurft: here you go:

**#** zypper ref
Repository 'Main Repository (NON-OSS)' is up to date.                                                                                                           
Repository 'Main Repository (OSS)' is up to date.                                                                                                               
Repository 'Main Update Repository' is up to date.                                                                                                              
Repository 'openSUSE-20150508-0' is up to date.                                                                                                                 
All repositories have been refreshed.
**#** zypper dup
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...


Problem: python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5, but this requirement cannot be provided
 Solution 1: Following actions will be done:
  deinstallation of python3-urllib3-1.15.1-2.1.noarch
  deinstallation of python3-wheel-0.29.0-2.1.noarch
  deinstallation of speedtest-cli-0.3.2-4.3.noarch
  deinstallation of python3-six-1.10.0-4.1.noarch
  deinstallation of python3-pycparser-2.14-2.1.noarch
  deinstallation of python3-pyasn1-0.1.9-2.1.noarch
  deinstallation of python3-pyOpenSSL-16.0.0-3.1.noarch
  deinstallation of python3-idna-2.1-1.1.noarch
  deinstallation of python3-chardet-2.3.0-1.4.noarch
 Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch
 Solution 3: break python3-urllib3-1.16-1.1.noarch by ignoring some of its dependencies


**Choose from above solutions by number or cancel [1/2/3/c] (c): **
**#** zypper lr -d
# | Alias                            | Name                       | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                    | Service
--+----------------------------------+----------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------+--------
1 | download.opensuse.org-non-oss    | Main Repository (NON-OSS)  | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/non-oss/                                  |        
2 | download.opensuse.org-oss        | Main Repository (OSS)      | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/oss/                                      |        
3 | download.opensuse.org-tumbleweed | Main Update Repository     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/tumbleweed/                                        |        
4 | openSUSE-20150508-0              | openSUSE-20150508-0        | Yes     | ( p) Yes  | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 |        
5 | repo-debug                       | openSUSE-Tumbleweed-Debug  | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/tumbleweed/repo/oss/                                |        
6 | repo-source                      | openSUSE-Tumbleweed-Source | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/source/tumbleweed/repo/oss/                               |        

Hmm, that last output looks better as a table:

–jeroen

Hi
So the .16 version has not made it out to the mirrors, the joys of using Tumbleweed…

It’s here and built;
https://build.opensuse.org/package/binaries/openSUSE:Factory/python3-urllib3?repository=standard

But not published… If you have an obs account you could manually grab the binary…

Thanks.

Can/should I report this anywhere?

Hopefully there won’t be a long wait for a new Tumbleweed build that fixes this.
openQA was showing a few more failures than usual anyway (:

–jeroen

Hi
Either IRC #opensuse-factory or the mailing list openSUSE:Communication channels - openSUSE Wiki
openSUSE:Communication channels - openSUSE Wiki will probably get a response…

No bug. Thanks to DimStar on the IRC channel #openSUSE-factory](https://forums.opensuse.org/irc.opensuse.org/openSUSE-factory), I got it resolved.

TL;DR: after you’ve done installing your system and performed the first zypper dup, then disable/remove the ISO using the alias (or number) of the repo.

In my case the second suggestion of zypper dup indicated an older python-cupshelper installed version related to the ISO repo:


# zypper search --details cupshelpers
Loading repository data...
Reading installed packages...


S | Name                | Type    | Version   | Arch   | Repository           
--+---------------------+---------+-----------+--------+----------------------
i | python-cupshelpers  | package | 1.5.7-7.2 | noarch | (System Packages)    
v | python-cupshelpers  | package | 1.5.6-1.1 | noarch | openSUSE-20150508-0  
  | python3-cupshelpers | package | 1.5.7-8.1 | noarch | Main Repository (OSS)

openSUSE-20150508-0 was an enabled repository which prevents zypper from removing the python-cupshelpers package even though in the Main Repository (OSS) it has been replaced by `python3-cupshelpers.

DimStar phrased it like this:

[14:10]  pretty much everything on the DVD is outdated[14:11]  as the package that no longer makes sense exists in 'a currently enabled repo', the removal of it is not considered a first-class valid solution
[14:12]  (but is an offered solution by zypper dup - in your case solution 2)

Disabling the ISO repo makes the list of packages different:

# zypper modifyrepo --disable openSUSE-20150508-0
Repository 'openSUSE-20150508-0' has been successfully disabled.


# zypper search --details cupshelpers
Loading repository data...
Reading installed packages...


S | Name                | Type    | Version   | Arch   | Repository           
--+---------------------+---------+-----------+--------+----------------------
i | python-cupshelpers  | package | 1.5.7-7.2 | noarch | (System Packages)    
  | python3-cupshelpers | package | 1.5.7-8.1 | noarch | Main Repository (OSS)
# rpm -qa | grep cupshelpers
python-cupshelpers-1.5.7-7.2.noarch

Now zypper dup works again.

–jeroen