hotch-potch, Note to self

いろいろ作業記録

pipでインストールしようとしているパッケージが”再要求”される場合の処置

1.はじめに

Pythonwrapt · PyPI が必要だったときに、 pipでインストールしようとしているパッケージwraptが”再要求”されてインストールできませんでした。 そのときの処置を残します。

環境

Ubuntu18.04 on Raspberry Pi 4です。

$ uname -a
Linux ubuntu 5.4.0-1019-raspi #21~18.04.1-Ubuntu SMP PREEMPT Mon Sep 14 13:31:44 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

現象

wraptが無くてインストールしようとしてるのに、wraptが無いと言ってくる・・・(どうしろと

$ pip3 install wrapt
Collecting wrapt
  Using cached https://files.pythonhosted.org/packages/11/eb/e06e77394d6cf09977d92bff310cb0392930c08a338f99af6066a5a98f92/wrapt-1.14.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-n1y89la1/wrapt/setup.py", line 42, in <module>
        ext_modules=[] if disable_extensions else extensions
      File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 129, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.6/distutils/core.py", line 121, in setup
        dist.parse_config_files()
      File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 494, in parse_config_files
        ignore_option_errors=ignore_option_errors)
      File "/usr/lib/python3/dist-packages/setuptools/config.py", line 106, in parse_configuration
        meta.parse()
      File "/usr/lib/python3/dist-packages/setuptools/config.py", line 382, in parse
        section_parser_method(section_options)
      File "/usr/lib/python3/dist-packages/setuptools/config.py", line 355, in parse_section
        self[name] = value
      File "/usr/lib/python3/dist-packages/setuptools/config.py", line 173, in __setitem__
        value = parser(value)
      File "/usr/lib/python3/dist-packages/setuptools/config.py", line 430, in _parse_version
        version = self._parse_attr(value)
      File "/usr/lib/python3/dist-packages/setuptools/config.py", line 305, in _parse_attr
        module = import_module(module_name)
      File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
    ModuleNotFoundError: No module named 'wrapt'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-n1y89la1/wrapt/

2.結論

インストール済のpipのバージョンが古かったようで、最新にアップデートしたら、wraptもインストールできました。

$ python3.7 -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/1f/2c/d9626f045e7b49a6225c6b09257861f24da78f4e5f23af2ddbdf852c99b8/pip-22.2.2-py3-none-any.whl (2.0MB)
    100% |????????????????????????????????| 2.0MB 276kB/s
Installing collected packages: pip
Successfully installed pip-22.2.2

改めて、wraptをインストールします。

$ python3.7 -m pip install wrapt
Defaulting to user installation because normal site-packages is not writeable
Collecting wrapt
  Downloading wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (75 kB)
     ---------------------------------------------------- 75.4/75.4 kB 1.3 MB/s eta 0:00:00
Installing collected packages: wrapt
Successfully installed wrapt-1.14.1

3.参考資料

[Fixed] ModuleNotFoundError: No module named ‘wrapt’ – Finxter