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

First time ran after installing onto an Ubuntu machine #130

Closed DonRichards closed 2 years ago

DonRichards commented 2 years ago

Description

Ran the following and hit an error when running for the first time. It looks like apt install isn't installing the required packages. After manually addressing this, I tried to run the command and got a bigger error.

$ pip install pipupgrade -y
$ pipupgrade --verbose --latest --yes
Traceback (most recent call last):
  File "/home/don/.local/bin/pipupgrade", line 5, in <module>
    from pipupgrade.__main__ import main
  File "/home/don/.local/lib/python3.9/site-packages/pipupgrade/__init__.py", line 22, in <module>
    from pipupgrade.config      import PATH
  File "/home/don/.local/lib/python3.9/site-packages/pipupgrade/config.py", line 5, in <module>
    from bpyutils.config      import get_config_path
ModuleNotFoundError: No module named 'bpyutils'
$pip install bpyutils -y

Big Error in the Console Error section.

Currently Versions

Screenshot

No response

Console errors

2021-12-17 14:41:52,537 | INFO | Executing command: /usr/bin/pip install dbus-python --no-cache-dir --upgrade
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: dbus-python in /usr/lib/python3/dist-packages (1.2.16)
Collecting dbus-python
  Downloading dbus-python-1.2.18.tar.gz (578 kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 578 kB 4.2 MB/s            
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: dbus-python
  Building wheel for dbus-python (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-z0hfg9r5
       cwd: /tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/
  Complete output (144 lines):
  running bdist_wheel
  running build
  creating /tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/build
  creating /tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/build/temp.linux-x86_64-3.9
  checking whether make supports nested variables... yes
  checking whether to enable maintainer-specific portions of Makefiles... no
  checking for gcc... gcc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables...
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to accept ISO C89... none needed
  checking whether gcc understands -c and -o together... yes
  checking how to run the C preprocessor... gcc -E
  checking for grep that handles long lines and -e... /usr/bin/grep
  checking for egrep... /usr/bin/grep -E
  checking for ANSI C header files... yes
  checking for sys/types.h... yes
  checking for sys/stat.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for memory.h... yes
  checking for strings.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for unistd.h... yes
  checking minix/config.h usability... no
  checking minix/config.h presence... no
  checking for minix/config.h... no
  checking whether it is safe to define __EXTENSIONS__... yes
  checking for a BSD-compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
  checking for gawk... no
  checking for mawk... mawk
  checking whether make sets $(MAKE)... yes
  checking whether make supports the include directive... yes (GNU style)
  checking whether UID '1000' is supported by ustar format... yes
  checking whether GID '1000' is supported by ustar format... yes
  checking how to create a ustar tar archive... gnutar
  checking dependency style of gcc... gcc3
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... x86_64-pc-linux-gnu
  checking for native Windows host... no
  checking how to print strings... printf
  checking for a sed that does not truncate output... /usr/bin/sed
  checking for fgrep... /usr/bin/grep -F
  checking for ld used by gcc... /usr/bin/ld
  checking if the linker (/usr/bin/ld) is GNU ld... yes
  checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
  checking the name lister (/usr/bin/nm -B) interface... BSD nm
  checking whether ln -s works... yes
  checking the maximum length of command line arguments... 1572864
  checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
  checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
  checking for /usr/bin/ld option to reload object files... -r
  checking for objdump... objdump
  checking how to recognize dependent libraries... pass_all
  checking for dlltool... no
  checking how to associate runtime and link libraries... printf %s\n
  checking for ar... ar
  checking for archiver @FILE support... @
  checking for strip... strip
  checking for ranlib... ranlib
  checking command to parse /usr/bin/nm -B output from gcc object... ok
  checking for sysroot... no
  checking for a working dd... /usr/bin/dd
  checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
  checking for mt... mt
  checking if mt is a manifest tool... no
  checking for dlfcn.h... yes
  checking for objdir... .libs
  checking if gcc supports -fno-rtti -fno-exceptions... no
  checking for gcc option to produce PIC... -fPIC -DPIC
  checking if gcc PIC flag -fPIC -DPIC works... yes
  checking if gcc static flag -static works... yes
  checking if gcc supports -c -o file.o... yes
  checking if gcc supports -c -o file.o... (cached) yes
  checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
  checking whether -lc should be explicitly linked in... no
  checking dynamic linker characteristics... GNU/Linux ld.so
  checking how to hardcode library paths into programs... immediate
  checking whether stripping libraries is possible... yes
  checking if libtool supports shared libraries... yes
  checking whether to build shared libraries... yes
  checking whether to build static libraries... no
  checking for inline... inline
  checking for gawk... (cached) mawk
  checking for python... /usr/bin/python3
  checking for a version of Python >= '2.1.0'... yes
  checking for a version of Python >= '2.7'... yes
  checking for the distutils Python package... yes
  checking for Python include path... -I/usr/include/python3.9
  checking for Python library path... -L/usr/lib/x86_64-linux-gnu -lpython3.9
  checking for Python site-packages path... /usr/lib/python3/dist-packages
  checking python extra libraries... -lcrypt -ldl  -lm -lm
  checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
  checking consistency of all components of python development environment... yes
  checking for python version... 3.9
  checking for python platform... linux
  checking for python script directory... ${prefix}/lib/python3.9/site-packages
  checking for python extension module directory... ${exec_prefix}/lib/python3.9/site-packages
  checking python3 module: sphinx... no
  checking python3 module: sphinx_rtd_theme... no
  checking for dbus-run-session... /usr/bin/dbus-run-session
  checking for pkg-config... /usr/bin/pkg-config
  checking pkg-config is at least version 0.9.0... yes
  checking for dbus-1 >= 1.8... no
  configure: error: Package requirements (dbus-1 >= 1.8) were not met:

  No package 'dbus-1' found

  Consider adjusting the PKG_CONFIG_PATH environment variable if you
  installed software in a non-standard prefix.

  Alternatively, you may set the environment variables DBUS_CFLAGS
  and DBUS_LIBS to avoid the need to call pkg-config.
  See the pkg-config man page for more details.
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py", line 85, in <module>
      setup(
    File "/home/administrator/.local/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/home/administrator/.local/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py", line 56, in run
      subprocess.check_call([
    File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/configure', '--disable-maintainer-mode', 'PYTHON=/usr/bin/python3', '--prefix=/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/build/temp.linux-x86_64-3.9/prefix']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for dbus-python
  Running setup.py clean for dbus-python
Failed to build dbus-python
Installing collected packages: dbus-python
    Running setup.py install for dbus-python ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nkaoyddx/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/administrator/.local/include/python3.9/dbus-python
         cwd: /tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/
    Complete output (148 lines):
    running install
    /home/administrator/.local/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    running build
    creating /tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/build
    creating /tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/build/temp.linux-x86_64-3.9
    checking whether make supports nested variables... yes
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... no
    checking for mawk... mawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports the include directive... yes (GNU style)
    checking whether UID '1000' is supported by ustar format... yes
    checking whether GID '1000' is supported by ustar format... yes
    checking how to create a ustar tar archive... gnutar
    checking dependency style of gcc... gcc3
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for native Windows host... no
    checking how to print strings... printf
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for a working dd... /usr/bin/dd
    checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
    checking for mt... mt
    checking if mt is a manifest tool... no
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking for inline... inline
    checking for gawk... (cached) mawk
    checking for python... /usr/bin/python3
    checking for a version of Python >= '2.1.0'... yes
    checking for a version of Python >= '2.7'... yes
    checking for the distutils Python package... yes
    checking for Python include path... -I/usr/include/python3.9
    checking for Python library path... -L/usr/lib/x86_64-linux-gnu -lpython3.9
    checking for Python site-packages path... /usr/lib/python3/dist-packages
    checking python extra libraries... -lcrypt -ldl  -lm -lm
    checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
    checking consistency of all components of python development environment... yes
    checking for python version... 3.9
    checking for python platform... linux
    checking for python script directory... ${prefix}/lib/python3.9/site-packages
    checking for python extension module directory... ${exec_prefix}/lib/python3.9/site-packages
    checking python3 module: sphinx... no
    checking python3 module: sphinx_rtd_theme... no
    checking for dbus-run-session... /usr/bin/dbus-run-session
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for dbus-1 >= 1.8... no
    configure: error: Package requirements (dbus-1 >= 1.8) were not met:

    No package 'dbus-1' found

    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.

    Alternatively, you may set the environment variables DBUS_CFLAGS
    and DBUS_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py", line 85, in <module>
        setup(
      File "/home/administrator/.local/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/home/administrator/.local/lib/python3.9/site-packages/setuptools/command/install.py", line 68, in run
        return orig.install.run(self)
      File "/usr/lib/python3.9/distutils/command/install.py", line 590, in run
        self.run_command('build')
      File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py", line 56, in run
        subprocess.check_call([
      File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/configure', '--disable-maintainer-mode', 'PYTHON=/usr/bin/python3', '--prefix=/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/build/temp.linux-x86_64-3.9/prefix']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pir49q8g/dbus-python_f29d8b936f614dcea783b0e5e70c05f5/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nkaoyddx/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/administrator/.local/include/python3.9/dbus-python Check the logs for full command output.

Traceback (most recent call last):
  File "/home/administrator/.local/lib/python3.9/site-packages/pipupgrade/commands/__init__.py", line 79, in command
    return _command(**ARGUMENTS)
  File "/home/administrator/.local/lib/python3.9/site-packages/pipupgrade/commands/__init__.py", line 258, in _command
    update_registry(registry, yes = a.yes, user = a.user, check = a.check,
  File "/home/administrator/.local/lib/python3.9/site-packages/pipupgrade/commands/helper.py", line 301, in update_registry
    _pip.call("install", package.name,
  File "/home/administrator/.local/lib/python3.9/site-packages/pipupgrade/_pip.py", line 78, in call
    output = popen(*params, output = output, raise_err = raise_err)
  File "/home/administrator/.local/lib/python3.9/site-packages/bpyutils/util/system.py", line 92, in popen
    raise PopenError(code, command)
bpyutils.exception.PopenError: Command '/usr/bin/pip install dbus-python --no-cache-dir --upgrade' 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
q-wertz commented 2 years ago

For me it worked after installing bpyutils but the behavior is strange…

The --help flag shows the help message of bpyutils

user@hoth:~/$ python3 -m pipupgrade --help 
usage: bpyutils [--run-jobs RUN_JOBS] [-y] [-c] [-i] [-j JOBS] [-o OUTPUT] [--ignore-error] [--force] [--no-color] [-V] [-v] [-h]

bpyutils (v 0.2.0)

A collection of various common Python utilities

optional arguments:
  --run-jobs RUN_JOBS   Run Jobs (default: None)
  -y, --yes             Confirm for all dialogs. (default: 0)
  -c, --check           Perform a dry-run. (default: 0)
  -i, --interactive     Interactive Mode. (default: 0)
  -j JOBS, --jobs JOBS  Number of Jobs to be used. (default: 8)
  -o OUTPUT, --output OUTPUT
                        Print Output to File. (default: None)
  --ignore-error        Ignore Error in case of failure. (default: 0)
  --force               Force. (default: 0)
  --no-color            Avoid colored output. (default: 0)
  -V, --verbose         Display verbose output. (default: 0)
  -v, --version         Show bpyutils's version number and exit.
  -h, --help            Show this help message and exit.

and --version returns 0.2.0 which is a quite old one

Upgrading

user@hoth:~/$ /home/clemens/VCS/ads-b_simulator/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
/usr/lib/python3.9/runpy.py:127: RuntimeWarning: 'pipupgrade.__main__' found in sys.modules after import of package 'pipupgrade', but prior to execution of 'pipupgrade.__main__'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
Checking...
Updating pipupgrade...
pipupgrade upto date.
DonRichards commented 2 years ago

Should probably add bpyutils as a dependency.

achillesrasquinha commented 2 years ago

This has recently been resolved in the latest release 1.12.0.

achillesrasquinha commented 2 years ago

Please let me know if continues.

DonRichards commented 2 years ago

I can confirm it does work on Ubuntu now.