python system_error ai_generated true

PermissionError: [Errno 13] Permission denied: '/tmp/pytest-of-user/pytest-123/test_0/'

ID: python/pytest-tmpdir-permission-denied

Also available as: JSON · Markdown · 中文
80%Fix Rate
85%Confidence
0Evidence
2025-02-05First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
3.8 active
3.9 active
3.10 active
3.11 active
3.12 active

Root Cause

The pytest tmpdir fixture cannot create or access a temporary directory due to insufficient permissions, often in restricted environments like containers.

generic

中文

pytest 的 tmpdir fixture 无法创建或访问临时目录,因为权限不足,通常发生在容器等受限环境中。

Workarounds

  1. 90% success
    Set a custom temp directory with write permissions: `pytest --basetemp=/home/user/tmp`
  2. 85% success
    Use the `tmp_path` fixture instead of `tmpdir` (returns pathlib.Path) and ensure the parent directory is writable.

Dead Ends

Common approaches that don't work:

  1. 80% fail

    This is a security risk and may not be allowed in containerized environments; also, the issue might be with specific subdirectories.

  2. 90% fail

    Running tests as root is dangerous and can mask permission issues that would occur in production.