This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kaorihinata
Recipients brett.cannon, eric.smith, kaorihinata
Date 2021-03-16.00:28:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1615854516.51.0.702957261797.issue43477@roundup.psfhosted.org>
In-reply-to
Content
Yes, a package. There isn't actually that much in the txz. Most of the files are ostensibly empty.

As an example, let's say we have the following files:

test.py
test_module/__init__.py
test_module/test_submodule.py

test.py contains:
```python
import test_module
print(test_module.test_submodule)
```

test_module/__init__.py
```python
from .test_submodule import *
```

test_module/test_submodule.py is completely empty.

Assuming `from x import *` acts like it does elsewhere, `dir()` before and after the import (in `test_module/__init__.py`) should return the same result (as there's nothing to import, and I haven't made an explicit import of module itself.) In this case, `test_module.test_submodule` is being added to the parent class anyway. That's what I was referring to above regarding `_find_and_load_unlocked`.

I was looking into this, not because I want to use it (I don't), but because the *standard library* is using it in multiple places, and not performing explicit imports. In my case, this results in a slightly more complicated series of events where pylint thinks that attempting to access any member of `asyncio.subprocess` (for example, `Process`) isn't possible because `subprocess` hasn't actually been imported into `asyncio`'s module namespace. I have an issue open for that with PyCQA/pylint already.

Based on the documentation, and how `*` imports behave most of the time, pylint would appear to be correct in that `subprocess` has not been imported into `asyncio`'s module namespace, and as such should not be accessible. Above is a generic example of that behavior. I would assume that `test.py` should fail with an AttributeError, but in this case it does not.
History
Date User Action Args
2021-03-16 00:28:36kaorihinatasetrecipients: + kaorihinata, brett.cannon, eric.smith
2021-03-16 00:28:36kaorihinatasetmessageid: <1615854516.51.0.702957261797.issue43477@roundup.psfhosted.org>
2021-03-16 00:28:36kaorihinatalinkissue43477 messages
2021-03-16 00:28:36kaorihinatacreate