conan: [bug] [1.52] conan error "ImportError: cannot import name '_get_component_name' from 'conan.tools.gnu.pkgconfigdeps'"

Environment Details (include every applicable attribute)

  • Operating System+version: ubuntu 20.04
  • Compiler+version: none
  • Conan version: 1.52
  • Python version: 3.8

Steps to reproduce (Include if Applicable)

pip3 install conan==1.52
conan --version

Logs (Executed commands with output) (Include/Attach if Applicable)

conan --version
Traceback (most recent call last):
  File "/home/dash/.local/bin/conan", line 7, in <module>
    from conans.conan import run
  File "/home/dash/.local/lib/python3.8/site-packages/conans/conan.py", line 7, in <module>
    from conans.client.command import main
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/command.py", line 14, in <module>
    from conans.client.conan_api import Conan, default_manifest_folder, _make_abs_path, ProfileData
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/conan_api.py", line 13, in <module>
    from conans.client.cmd.create import create
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/cmd/create.py", line 3, in <module>
    from conans.client.cmd.test import install_build_and_test
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/cmd/test.py", line 6, in <module>
    from conans.client.manager import deps_install
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/manager.py", line 7, in <module>
    from conans.client.installer import BinaryInstaller, call_system_requirements
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/installer.py", line 11, in <module>
    from conans.client.generators import TXTGenerator, write_toolchain
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/generators/__init__.py", line 23, in <module>
    from .markdown import MarkdownGenerator
  File "/home/dash/.local/lib/python3.8/site-packages/conans/client/generators/markdown.py", line 12, in <module>
    from conan.tools.gnu.pkgconfigdeps import (
ImportError: cannot import name '_get_component_name' from 'conan.tools.gnu.pkgconfigdeps' (/home/dash/.local/lib/python3.8/site-packages/conan/tools/gnu/pkgconfigdeps/__init__.py)

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 1
  • Comments: 23 (12 by maintainers)

Commits related to this issue

Most upvoted comments

Same error here:

Collecting webp==0.1.3
  Using cached webp-0.1.3.tar.gz (10 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  ? Preparing metadata (pyproject.toml) did not run successfully.
  ? exit code: 1
  ??> [33 lines of output]
      Traceback (most recent call last):
        File "/Users/main/project/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/main/project/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/Users/main/project/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 377, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup
          exec(code, locals())
        File "<string>", line 10, in <module>
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 108, in setup
          return distutils.core.setup(**attrs)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 147, in setup
          _setup_distribution = dist = klass(attrs)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 488, in __init__
          _Distribution.__init__(
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
          self.finalize_options()
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 912, in finalize_options
          ep(self)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 932, in _finalize_setup_keywords
          ep.load()(self, ep.name, value)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules
          add_cffi_module(dist, cffi_module)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module
          execfile(build_file_name, mod_vars)
        File "/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/cffi/setuptools_ext.py", line 25, in execfile
          exec(code, glob, glob)
        File "webp_build/builder.py", line 7, in <module>
          from conans.client import conan_api
      ImportError: cannot import name 'conan_api' from 'conans.client' (/private/var/folders/d6/g22rwyy95438yl9kcz0hq09r0000gn/T/pip-build-env-n4iozlav/overlay/lib/python3.10/site-packages/conans/client/__init__.py)
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

? Encountered error while generating package metadata.
??> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

@memsharded Thanks that helped me to solve the issue. The problem was in --ignore-installed flag I used to reinstall conan.

So to reproduce:

pip install conan==1.51.0 # or any other earlier version
pip install conan==1.52.0 --ignore-installed
conan --version # this crashes

without --ignore-installed flag everything works.

Hope this will help someone else =)

Hi @SergeyKrivohatskiy

It seems that some updates to 1.52 are not completely cleaning the previous stuff and something breaks. Can you please try installing a fresh Conan in a clean Python virtualenv (or maybe trying pipx), and see if the problem still reproduces?

Hi @Zvicii - thank you for reporting this issue. There was an issue with the wayland recipe in conan-center-index where a private Conan API was used, and it changed internally across Conan versions. We are tracking this here https://github.com/conan-io/conan-center-index/issues/12722 as an issue related to the recipe - which needs to be fixed.