支持分发包装的 Python 环境 (只读 sys.executable)
作者: JamieMagee创建于 2026年4月9日更新于 2026年9月5日
标签featureintegration
PlatformIO 被多个 Linux 分发版包装(NixOS、Guix、Arch、Fedora 等)。分发包将 PlatformIO 安装到一个只读的 Python 环境中,其中 sys.executable 指向一个无法写入的解释器。这导致一些问题,分发维护者目前通过补丁来解决这些问题:
upgrade.py使用get_pythonexe_path()运行pip install --upgrade对于一个只读的解释器commands/upgrade.py使用get_pythonexe_path()来调用pip install --upgrade。在分发安装中,这会失败,因为 site-packages 目录位于一个只读存储中。像PLATFORMIO_DISABLE_SELF_UPDATE=1(或检测一个只读前缀) 这样的环境变量可以让分发包清晰地跳过此操作。
内容来源: platformio/platformio-core