Skip to content

Failed to import when the path has a resticted directory #94

@jaraco

Description

@jaraco

In GitLab by @afazekas on Oct 22, 2019, 12:05

[stack@controller-02 ~]$ cat /tmp/test.py 
import importlib_metadata
[stack@controller-02 ~]$ PYTHONPATH=/root python3 /tmp/test.py
Traceback (most recent call last):
  File "/tmp/test.py", line 1, in <module>
    import importlib_metadata
  File "/opt/stack/importlib_metadata/importlib_metadata/__init__.py", line 547, in <module>
    __version__ = version(__name__)
  File "/opt/stack/importlib_metadata/importlib_metadata/__init__.py", line 509, in version
    return distribution(distribution_name).version
  File "/opt/stack/importlib_metadata/importlib_metadata/__init__.py", line 482, in distribution
    return Distribution.from_name(distribution_name)
  File "/opt/stack/importlib_metadata/importlib_metadata/__init__.py", line 183, in from_name
    dist = next(dists, None)
  File "/opt/stack/importlib_metadata/importlib_metadata/__init__.py", line 452, in <genexpr>
    return (item for item in root.iterdir()
  File "/usr/lib64/python3.7/pathlib.py", line 1090, in iterdir
    for name in self._accessor.listdir(self):
PermissionError: [Errno 13] Permission denied: '/root'
[stack@controller-02 ~]$ 
[stack@controller-02 ~]$ PYTHONPATH=/notexisting python3 /tmp/test.py
[stack@controller-02 ~]$ 

Permission denied should be handled as not exsting ones.
All file permission issue should be silent at module search time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions