[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