Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
212
/
root
/
opt
/
python-3.9
/
usr
/
lib
/
python3.9
/
site-packages
/
virtualenv
/
app_data
/
//proc/212/root/opt/python-3.9/usr/lib/python3.9/site-packages/virtualenv/app_data/read_only.py
import os.path from virtualenv.util.lock import NoOpFileLock from .via_disk_folder import AppDataDiskFolder, PyInfoStoreDisk class ReadOnlyAppData(AppDataDiskFolder): can_update = False def __init__(self, folder): # type: (str) -> None if not os.path.isdir(folder): raise RuntimeError("read-only app data directory {} does not exist".format(folder)) self.lock = NoOpFileLock(folder) def reset(self): # type: () -> None raise RuntimeError("read-only app data does not support reset") def py_info_clear(self): # type: () -> None raise NotImplementedError def py_info(self, path): return _PyInfoStoreDiskReadOnly(self.py_info_at, path) def embed_update_log(self, distribution, for_py_version): raise NotImplementedError class _PyInfoStoreDiskReadOnly(PyInfoStoreDisk): def write(self, content): raise RuntimeError("read-only app data python info cannot be updated") __all__ = ("ReadOnlyAppData",)