Skip to content

Some tests fail when __pycache__ prefix is set #151626

Description

@ringobanana-3900

Bug report

Bug description:

Some tests that check .pyc files creation are failing when sys.pycache_prefix is set.

List of tests that failed on Arm64 MacOS (maybe there's more in skipped ones):

  • test.test_inspect.test_inspect.TestModuleCLI.test_details_option_with_package
  • test.test_import.PycacheTests.test_import_pyc_path
  • test.test_import.PycacheTests.test_unwritable_directory
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source_cwd
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source_no_dot
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source_optimization_None
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source_optimization_empty_string
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source_optimization_set
  • test.test_importlib.test_util.PEP3147Tests.test_cache_from_source_path_like_arg
  • test.test_py_compile.PyCompileCLITestCase.test_with_files
  • test.test_py_compile.PyCompileTestsBase.test_double_dot_no_clobber
  • test.test_compileall.CompileallTestsBase.test_include_on_stdin
  • test.test_compileall.CompileallTestsBase.test_multiple_runs
  • test.test_compileall.CompileallTestsBase.test_symlink_loop

example: PYTHONPYCACHEPREFIX="$HOME/__pycache__" ./python.exe -m test test.test_compileall test.test_import test.test_importlib.test_util test.test_inspect.test_inspect test.test_py_compile -v

output (edited for clarity and length): testres.txt

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

Linked PRs

Activity

  1. changed the title [-]Some tests fail when \_\_pycache\_\_ prefix is set[/-] [+]Some tests fail when __pycache__ prefix is set[/+] on Jun 18, 2026
  2. zangjiucheng commented on Jun 22, 2026

    @zangjiucheng
    Contributor

    Hey there, thanks for the detailed report and the reproduction command. Verified locally on macOS ARM64 (Python 3.16.0a0) with PYTHONPYCACHEPREFIX set to a temp directory.

    The fix neutralizes sys.pycache_prefix (and strips PYTHONPYCACHEPREFIX from subprocess environments) in all five test files. Verified locally on macOS ARM64 with PYTHONPYCACHEPREFIX set; all the tests you listed now pass, including the three test_inspect.TestModuleCLI cases and the full PEP3147Tests suite.

    I will resolve and attach the PR asap.

  3. added a commit that references this issue on Jun 23, 2026
  4. added 2 commits that reference this issue on Jul 1, 2026
  5. gpshead commented on Jul 1, 2026

    @gpshead
    Member

    thanks!

  6. added 2 commits that reference this issue on Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions