achillesrasquinha / pipupgrade

πŸ—½ Like yarn outdated/upgrade, but for pip. Upgrade all your pip packages and automate your Python Dependency Management.
https://git.io/pipupgrade
MIT License
587 stars 28 forks source link

Fails on some packages #108

Closed MReed1959 closed 2 years ago

MReed1959 commented 3 years ago

What's the bug all about?

Two packages will always fail on one of my Raspberry PI Zero's. On the other Raspberry PI Zero I get error messages while pipupgrade is starting.

What command led to this issue?

$ "sudo pipupgrade --latest --interactive"

Logs

Screen shot on the first Zero (Zero3):

pi@Zero3:~$ sudo pipupgrade --latest --interactive
Checking...

Source: Installed Distributions (/usr/local/bin/pip3)

PyGObject (3.30.4) -> (3.40.1) [Y/n/q]: n
pyxdg (0.25) -> (0.27) [Y/n/q]: n

Source: Installed Distributions (/usr/local/bin/pip)

PyGObject (3.30.4) -> (3.40.1) [Y/n/q]: y
Updating 1 of 2 packages: PyGObject

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/commands/__init__.py", line 78, in command
    return _command(**ARGUMENTS)
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/commands/__init__.py", line 244, in _command
    upgrade_type = a.upgrade_type
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/commands/helper.py", line 305, in update_registry
    upgrade = True
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/_pip.py", line 75, in call
    output = popen(*params, output = output, raise_err = raise_err)
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/util/system.py", line 92, in popen
    raise PopenError(code, command)
PopenError: Command '/usr/local/bin/pip install PyGObject --upgrade --no-cache-dir' returned non-zero exit status 1

An error occurred while performing the above command. This could be an issue with
"pipupgrade". Kindly post an issue at https://github.com/achillesrasquinha/pipupgrade/issues

Please paste the logs using pipupgrade --verbose

pi@Zero3:~$ sudo pipupgrade --verbose
2021-08-04 07:53:47,695 | INFO | Environment: {'config': {'path': {'DATA': '/usr/local/lib/python2.7/dist-packages/pipupgrade/data', 'BASE': '/usr/local/lib/python2.7/dist-packages/pipupgrade', 'CACHE': '/root/.config/pipupgrade', 'JOBS': '/usr/local/lib/python2.7/dist-packages/pipupgrade/jobs'}}, 'version': '1.9.0', 'os': 'Linux-5.10.17+-armv6l-with-debian-10.10', 'python_version': '2.7.16', 'settings': {u'settings': {u'__name__': u'settings', u'cache_timeout': u'86400', u'jobs': u'1', u'version': u'1.9.0'}}}
2021-08-04 07:53:47,697 | INFO | Arguments Passed: {'a': <pipupgrade.O object at 0xb5885fd0>, 'args': (), 'kwargs': {'all': 0, 'force': 0, 'verbose': True, 'pip_path': None, 'github_username': None, 'pip': 0, 'yes': 0, 'check': 0, 'ignore': None, 'target_branch': 'master', 'requirements': None, 'git_username': None, 'self': False, 'format': 'table', 'git_email': None, 'no_color': 0, 'upgrade_type': ['minor', 'patch'], 'no_included_requirements': 0, 'ignore_error': 0, 'github_reponame': None, 'jobs': 4, 'github_access_token': None, 'user': 0, 'pull_request': False, 'packages': [], 'project': None, 'no_cache': 0, 'output': None, 'pipfile': None, 'latest': 0, 'interactive': 0}}
Checking...
2021-08-04 07:53:47,745 | INFO | `pip` executables found: ['/usr/local/bin/pip', '/usr/local/bin/pip3', '/usr/bin/pip2']
2021-08-04 07:53:47,746 | INFO | Using 4 jobs...
2021-08-04 07:53:47,907 | INFO | Fetching installed packages for /usr/local/bin/pip...
2021-08-04 07:53:47,917 | INFO | Fetching installed packages for /usr/local/bin/pip3...
2021-08-04 07:53:47,912 | INFO | Executing command: /usr/local/bin/pip list --outdated --format json
2021-08-04 07:53:47,922 | INFO | Executing command: /usr/local/bin/pip3 list --outdated --format json
2021-08-04 07:53:47,930 | INFO | Fetching installed packages for /usr/bin/pip2...
2021-08-04 07:53:47,966 | INFO | Executing command: /usr/bin/pip2 list --outdated --format json
2021-08-04 07:59:35,333 | INFO | 2 packages found for /usr/local/bin/pip.
2021-08-04 07:59:35,808 | INFO | Initializing Package {u'latest_filetype': u'sdist', u'version': u'3.30.4', u'name': u'PyGObject', u'latest_version': u'3.40.1'} of type <type 'dict'>...
2021-08-04 07:59:35,816 | INFO | Initializing Package {u'latest_filetype': u'wheel', u'version': u'0.25', u'name': u'pyxdg', u'latest_version': u'0.27'} of type <type 'dict'>...
2021-08-04 07:59:35,820 | INFO | Fetching package pyxdg information from DB...
2021-08-04 07:59:35,812 | INFO | Fetching package PyGObject information from DB...
2021-08-04 07:59:36,320 | INFO | Using cached info for package <Package PyGObject (3.30.4)>.
2021-08-04 07:59:36,355 | INFO | Using cached info for package <Package pyxdg (0.25)>.
2021-08-04 07:59:36,585 | INFO | Packages within `pip` /usr/local/bin/pip found: [<Package PyGObject (3.30.4)>, <Package pyxdg (0.25)>]...
2021-08-04 07:59:40,482 | INFO | 2 packages found for /usr/local/bin/pip3.
2021-08-04 07:59:40,895 | INFO | Initializing Package {u'latest_filetype': u'sdist', u'version': u'3.30.4', u'name': u'PyGObject', u'latest_version': u'3.40.1'} of type <type 'dict'>...
2021-08-04 07:59:40,898 | INFO | Fetching package PyGObject information from DB...
2021-08-04 07:59:40,917 | INFO | Initializing Package {u'latest_filetype': u'wheel', u'version': u'0.25', u'name': u'pyxdg', u'latest_version': u'0.27'} of type <type 'dict'>...
2021-08-04 07:59:40,920 | INFO | Fetching package pyxdg information from DB...
2021-08-04 07:59:41,277 | INFO | Using cached info for package <Package PyGObject (3.30.4)>.
2021-08-04 07:59:41,299 | INFO | Using cached info for package <Package pyxdg (0.25)>.
2021-08-04 07:59:41,452 | INFO | Packages within `pip` /usr/local/bin/pip3 found: [<Package PyGObject (3.30.4)>, <Package pyxdg (0.25)>]...
2021-08-04 08:00:48,825 | INFO | 0 packages found for /usr/bin/pip2.
2021-08-04 08:00:49,092 | INFO | Packages within `pip` /usr/bin/pip2 found: []...
2021-08-04 08:00:49,167 | INFO | Updating registries: [<pipupgrade.model.registry.Registry object at 0xb588b290>, <pipupgrade.model.registry.Registry object at 0xb588b9f0>, <pipupgrade.model.registry.Registry object at 0xb5885a30>]...

Source: Installed Distributions (/usr/local/bin/pip)

Name      Current Version Latest Version Home Page
--------- --------------- -------------- ------------------------------------------
PyGObject 3.30.4          3.40.1         https://pygobject.readthedocs.io
pyxdg     0.25            0.27           http://freedesktop.org/wiki/Software/pyxdg

Do you wish to update 2 packages? [Y/n/q]: y
Updating 1 of 2 packages: PyGObject
2021-08-04 08:01:08,820 | INFO | Executing command: /usr/local/bin/pip install PyGObject --upgrade --no-cache-dir
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: PyGObject in /usr/lib/python3/dist-packages (3.30.4)
Collecting PyGObject
  Downloading PyGObject-3.40.1.tar.gz (714 kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 714 kB 924 kB/s
  WARNING: Value for purelib does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
  distutils: /usr/lib/python3/dist-packages
  sysconfig: /usr/lib/python3.7/site-packages
  WARNING: Additional context:
  user = False
  home = None
  root = None
  prefix = None
  WARNING: Value for platlib does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
  distutils: /usr/lib/python3/dist-packages
  sysconfig: /usr/lib/python3.7/site-packages
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting pycairo>=1.16.0
  Downloading https://www.piwheels.org/simple/pycairo/pycairo-1.20.1-cp37-cp37m-linux_armv6l.whl (260 kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 260 kB 332 kB/s
Building wheels for collected packages: PyGObject
  Building wheel for PyGObject (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpigscpxe2
       cwd: /tmp/pip-install-m32d6p7f/pygobject_89b0b6c86eaa4070a134d2fa031857f2
  Complete output (44 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv6l-3.7
  creating build/lib.linux-armv6l-3.7/pygtkcompat
  copying pygtkcompat/pygtkcompat.py -> build/lib.linux-armv6l-3.7/pygtkcompat
  copying pygtkcompat/__init__.py -> build/lib.linux-armv6l-3.7/pygtkcompat
  copying pygtkcompat/generictreemodel.py -> build/lib.linux-armv6l-3.7/pygtkcompat
  creating build/lib.linux-armv6l-3.7/gi
  copying gi/_error.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/pygtkcompat.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/_signalhelper.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/_constants.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/module.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/types.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/_gtktemplate.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/_propertyhelper.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/_ossighelper.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/__init__.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/docstring.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/importer.py -> build/lib.linux-armv6l-3.7/gi
  copying gi/_option.py -> build/lib.linux-armv6l-3.7/gi
  creating build/lib.linux-armv6l-3.7/gi/repository
  copying gi/repository/__init__.py -> build/lib.linux-armv6l-3.7/gi/repository
  creating build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/Gtk.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/GObject.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/keysyms.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/Pango.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/GLib.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/Gio.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/__init__.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/GdkPixbuf.py -> build/lib.linux-armv6l-3.7/gi/overrides
  copying gi/overrides/Gdk.py -> build/lib.linux-armv6l-3.7/gi/overrides
  running build_ext
  Package glib-2.0 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `glib-2.0.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'glib-2.0' found
  Command '('pkg-config', '--print-errors', '--exists', 'glib-2.0 >= 2.56.0')' returned non-zero exit status 1.

  Try installing it with: 'sudo apt install libglib2.0-dev'
  ----------------------------------------
  ERROR: Failed building wheel for PyGObject
Failed to build PyGObject
ERROR: Could not build wheels for PyGObject which use PEP 517 and cannot be installed directly

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/commands/__init__.py", line 78, in command
    return _command(**ARGUMENTS)
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/commands/__init__.py", line 244, in _command
    upgrade_type = a.upgrade_type
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/commands/helper.py", line 305, in update_registry
    upgrade = True
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/_pip.py", line 75, in call
    output = popen(*params, output = output, raise_err = raise_err)
  File "/usr/local/lib/python2.7/dist-packages/pipupgrade/util/system.py", line 92, in popen
    raise PopenError(code, command)
PopenError: Command '/usr/local/bin/pip install PyGObject --upgrade --no-cache-dir' returned non-zero exit status 1

An error occured while performing the above command. This could be an issue with
"pipupgrade". Kindly post an issue at https://github.com/achillesrasquinha/pipupgrade/issues

Screenshot on 2nd Zero (moreylog):

pi@moreylog:~ $ sudo pipupgrade --latest
Checking...
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 392, in _handle_results
    task = get()
TypeError: __init__() takes at least 3 arguments (1 given)

Please paste the logs using pipupgrade --verbose

pi@moreylog:~$ sudo pipupgrade --verbose
2021-08-04 13:58:30,480 | INFO | Environment: {'config': {'path': {'DATA': '/usr/local/lib/python2.7/dist-packages/pipupgrade/data', 'BASE': '/usr/local/lib/python2.7/dist-packages/pipupgrade', 'CACHE': '/root/.config/pipupgrade', 'JOBS': '/usr/local/lib/python2.7/dist-packages/pipupgrade/jobs'}}, 'version': '1.9.0', 'os': 'Linux-5.10.52+-armv6l-with-debian-10.10', 'python_version': '2.7.16', 'settings': {u'settings': {u'__name__': u'settings', u'cache_timeout': u'86400', u'jobs': u'1', u'version': u'1.9.0'}}}
2021-08-04 13:58:30,482 | INFO | Arguments Passed: {'a': <pipupgrade.O object at 0xb5bdff90>, 'args': (), 'kwargs': {'all': 0, 'force': 0, 'verbose': True, 'pip_path': None, 'github_username': None, 'pip': 0, 'yes': 0, 'check': 0, 'ignore': None, 'target_branch': 'master', 'requirements': None, 'git_username': None, 'self': False, 'format': 'table', 'git_email': None, 'no_color': 0, 'upgrade_type': ['minor', 'patch'], 'no_included_requirements': 0, 'ignore_error': 0, 'github_reponame': None, 'jobs': 4, 'github_access_token': None, 'user': 0, 'pull_request': False, 'packages': [], 'project': None, 'no_cache': 0, 'output': None, 'pipfile': None, 'latest': 0, 'interactive': 0}}
Checking...
2021-08-04 13:58:30,590 | INFO | `pip` executables found: ['/usr/bin/pip', '/usr/bin/pip3', '/usr/bin/pip2']
2021-08-04 13:58:30,591 | INFO | Using 4 jobs...
2021-08-04 13:58:30,919 | INFO | Fetching installed packages for /usr/bin/pip...
2021-08-04 13:58:30,924 | INFO | Executing command: /usr/bin/pip list --outdated --format json
2021-08-04 13:58:30,940 | INFO | Fetching installed packages for /usr/bin/pip3...
2021-08-04 13:58:30,945 | INFO | Executing command: /usr/bin/pip3 list --outdated --format json
2021-08-04 13:58:30,985 | INFO | Fetching installed packages for /usr/bin/pip2...
2021-08-04 13:58:31,044 | INFO | Executing command: /usr/bin/pip2 list --outdated --format json
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 392, in _handle_results
    task = get()
TypeError: __init__() takes at least 3 arguments (1 given)

2021-08-04 14:04:47,211 | INFO | 0 packages found for /usr/bin/pip2.
2021-08-04 14:04:47,725 | INFO | Packages within `pip` /usr/bin/pip2 found: []...
2021-08-04 14:04:47,991 | INFO | 0 packages found for /usr/bin/pip.
2021-08-04 14:04:48,420 | INFO | Packages within `pip` /usr/bin/pip found: []...
<< Hung, waited 30 minutes >>
achillesrasquinha commented 3 years ago

@MReed1959 Did you check the logs related to PyGObject specifically? It seems it expects you to have some pre-req which is why it might be failing?

81Denton commented 3 years ago

Possibly related: https://github.com/pygobject/pycairo/issues/89

achillesrasquinha commented 2 years ago

This isn't able to be reproduced and a package dependent issue. Closing...

achillesrasquinha commented 2 years ago

There is a flag called '--ignore-error' that can be used with pipupgrade in order to pass in case it fails to upgrade.