[pypy-issue] Issue #2944: origin for several "builtin" modules references build directory (pypy/pypy)

Anthony Sottile issues-reply at bitbucket.org
Sun Jan 27 20:30:12 EST 2019


New issue 2944: origin for several "builtin" modules references build directory
https://bitbucket.org/pypy/pypy/issues/2944/origin-for-several-builtin-modules

Anthony Sottile:

For example

```
$ pypy3 -c 'import importlib.util; print(importlib.util.find_spec("abc"))'
ModuleSpec(name='abc', loader=<_frozen_importlib_external.SourceFileLoader object at 0x00007f717f943e20>, origin='/extra1/home/buildslave/buildslave/pypy-c-jit-linux-x86-64/build/lib-python/3/abc.py')
```


Compare a non-builtin pure-python module:

```
$ pypy3 -c 'import importlib.util; print(importlib.util.find_spec("os"))'
ModuleSpec(name='os', loader=<_frozen_importlib_external.SourceFileLoader object at 0x00007f636b735a28>, origin='/home/asottile/opt/pypy3-v6.0.0-linux64/lib-python/3/os.py')
```

Or a builtin module:

```
$ pypy3 -c 'import importlib.util; print(importlib.util.find_spec("sys"))'
ModuleSpec(name='sys', loader=<class '_frozen_importlib.BuiltinImporter'>)
```

---

wondering if this is a bug or if this is intentional -- we're attempting to replace the deprecated `imp.find_module` which returns different values in `virtualenv`:

```pycon
>>>> imp.find_module('abc')[1]
'/home/asottile/opt/pypy3-v6.0.0-linux64/lib-python/3/abc.py'
>>>> imp.find_module('os')[1]
'/home/asottile/opt/pypy3-v6.0.0-linux64/lib-python/3/os.py'
>>>> imp.find_module('sys')[1]
>>>> 
```

The PR for that is here: https://github.com/pypa/virtualenv/pull/1293




More information about the pypy-issue mailing list