Skip to content

Permission denied on Windows: EGG-INFO (regression in pluggy 0.12) #219

@nicoddemus

Description

@nicoddemus

Howdy,

Unfortunately it seems we still have a few glitches regarding importlib-metadata.

I'm getting this error on Windows while trying to run pytest:

λ pytest test_esss_jenkins.py
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\bruno.ESSS.CO\err-jenkins\.env37\Scripts\pytest.exe\__main__.py", line 5, in <module>
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\pytest.py", line 7, in <module>
    from _pytest.assertion import register_assert_rewrite
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\_pytest\assertion\__init__.py", line 12, in <module>
    from _pytest.assertion import rewrite
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\_pytest\assertion\rewrite.py", line 23, in <module>
    from _pytest.assertion import util
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\_pytest\assertion\util.py", line 10, in <module>
    import _pytest._code
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\_pytest\_code\__init__.py", line 6, in <module>
    from .code import Code  # noqa
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\_pytest\_code\code.py", line 14, in <module>
    import pluggy
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\pluggy\__init__.py", line 16, in <module>
    from .manager import PluginManager, PluginValidationError
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\pluggy\manager.py", line 6, in <module>
    import importlib_metadata
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\importlib_metadata\__init__.py", line 463, in <module>
    __version__ = version(__name__)
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\importlib_metadata\__init__.py", line 430, in version
    return distribution(package).version
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\importlib_metadata\__init__.py", line 220, in version
    return self.metadata['Version']
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\importlib_metadata\__init__.py", line 213, in metadata
    or self.read_text('')
  File "c:\users\bruno.esss.co\err-jenkins\.env37\lib\site-packages\importlib_metadata\__init__.py", line 390, in read_text
    return self._path.joinpath(filename).read_text(encoding='utf-8')
  File "C:\Program Files\Python37\lib\pathlib.py", line 1199, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "C:\Program Files\Python37\lib\pathlib.py", line 1186, in open
    opener=self._opener)
  File "C:\Program Files\Python37\lib\pathlib.py", line 1039, in _opener
    return self._accessor.open(self, flags, mode)
PermissionError: [Errno 13] Permission denied: 'c:\\users\\bruno.esss.co\\err-jenkins\\.env37\\EGG-INFO'

Steps to reproduce:

λ git clone [email protected]:ESSS/err-jenkins.git
λ cd err-jenkins\
λ py -m venv .env37
λ .env37\Scripts\activate
(.env37) λ python -m pip install -U pip
(.env37) λ pip install -r dev-requirements.txt
(.env37) λ pytest test_esss_jenkins.py

Running pip install pluggy==0.11 fixes the issue.

Any hints @asottile? 🤔

cc @dawelter2

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions