# Mock python errors

**URL:** <https://discussion.fedoraproject.org/t/mock-python-errors/130067>\
**Category:** Ask Fedora\
**Tags:** mock, f40\
**Created:** [August 29, 2024, 10:29pm UTC](https://discussion.fedoraproject.org/t/mock-python-errors/130067 "2024-08-29T22:29:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aheath1992](https://avatars.discourse-cdn.com/v4/letter/a/eb7434/32.png) [@aheath1992](https://discussion.fedoraproject.org/u/aheath1992)\
**Post date:** [August 29, 2024, 10:29pm UTC](https://discussion.fedoraproject.org/t/mock-python-errors/130067/1 "2024-08-29T22:29:42Z")

</div>

When trying to run mock to test RPM builds I python errors but not sure where the issues are coming from. I am installing mock from the RPM repos.

```plaintext
mock --help
Traceback (most recent call last):
  File "/usr/libexec/mock/mock", line 64, in <module>
    from mockbuild import config
  File "/usr/lib/python3.12/site-packages/mockbuild/config.py", line 27, in <module>
    from .util import set_use_nspawn, setup_operations_timeout
  File "/usr/lib/python3.12/site-packages/mockbuild/util.py", line 43, in <module>
    from pyroute2 import IPRoute
  File "/usr/lib/python3.12/site-packages/pyroute2/ __init__.py", line 71, in <module>
    groups = metadata.entry_points()
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/metadata/ __init__.py", line 913, in entry_points
    return EntryPoints(eps).select(**params)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/metadata/ __init__.py", line 910, in <genexpr>
    eps = itertools.chain.from_iterable(
                                       ^
  File "/usr/lib64/python3.12/importlib/metadata/_itertools.py", line 16, in unique_everseen
    k = key(element)
        ^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/metadata/ __init__.py", line 835, in _normalized_name
    or super()._normalized_name
       ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/metadata/ __init__.py", line 462, in _normalized_name
    return Prepared.normalize(self.name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/importlib/metadata/ __init__.py", line 762, in normalize
    return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/ __init__.py", line 186, in sub
    return _compile(pattern, flags).sub(repl, string, count)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: expected string or bytes-like object, got 'NoneType'

```

---

<div class="post-metadata">

**Author:** ![barryascott](https://avatars.discourse-cdn.com/v4/letter/b/db3279/32.png) [@barryascott](https://discussion.fedoraproject.org/u/barryascott)\
**Post date:** [August 30, 2024, 9:32am UTC](https://discussion.fedoraproject.org/t/mock-python-errors/130067/2 "2024-08-30T09:32:29Z")

</div>

Did you install any packages from PyPi with pip as root?  
Do you have PYTHONPATH set?

---

<div class="post-metadata">

**Author:** ![aheath1992](https://avatars.discourse-cdn.com/v4/letter/a/eb7434/32.png) [@aheath1992](https://discussion.fedoraproject.org/u/aheath1992)\
**Post date:** [August 30, 2024, 10:13am UTC](https://discussion.fedoraproject.org/t/mock-python-errors/130067/3 "2024-08-30T10:13:06Z")

</div>

Im sure I have installed packages as root but i don’t believe PYTHONPATH is set

```plaintext
echo $PYTHONPATH

```

---

<div class="post-metadata">

**Author:** ![barryascott](https://avatars.discourse-cdn.com/v4/letter/b/db3279/32.png) [@barryascott](https://discussion.fedoraproject.org/u/barryascott)\
**Post date:** [August 31, 2024, 12:04pm UTC](https://discussion.fedoraproject.org/t/mock-python-errors/130067/4 "2024-08-31T12:04:48Z")

</div>

> [@aheath1992](#):
>
> Im sure I have installed packages as root

Specifically did you use the `pip3` or `python3 -m pip` commands as root?  
Why I ask is that if you did that has a good chance of messing up system python.

Another thing you can try is to add a new user to your system and try mock from that user. If that works then there is something in your environment that breaks mock.
