summaryrefslogtreecommitdiff
path: root/src/virtualenv/create/via_global_ref/store.py
blob: 0169f827ccbc3e3155f3a62e7cfd7fe87cb433b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from __future__ import annotations

from pathlib import Path


def handle_store_python(meta, interpreter):
    if is_store_python(interpreter):
        meta.symlink_error = "Windows Store Python does not support virtual environments via symlink"
    return meta


def is_store_python(interpreter):
    parts = Path(interpreter.system_executable).parts
    return (
        len(parts) > 4
        and parts[-4] == "Microsoft"
        and parts[-3] == "WindowsApps"
        and parts[-2].startswith("PythonSoftwareFoundation.Python.3.")
        and parts[-1].startswith("python")
    )


__all__ = [
    "handle_store_python",
    "is_store_python",
]