Pyinstaller的runtime-tmpdir参数是否会影响exe性能及系统文件?
PyInstaller单文件模式
runtime-tmpdir参数使用答疑 直接针对你关心的两个问题给出实测结论:
是否影响exe运行性能
- 参数本身不会带来额外性能损耗,实际运行速度完全取决于你指定的临时目录所在磁盘的读写速度:
- 要是指定的路径在本地固定硬盘(不管是SSD还是机械盘),和用系统默认临时目录的启动、运行速度基本没区别,日常使用感知不到差异
- 要是手滑把路径设到了U盘、网络共享盘这类读写慢、连接不稳定的存储上,程序启动时解压内置依赖的速度会明显变慢,严重时还会直接启动失败
- 如果你选的目录被杀毒软件设成了重点实时扫描目录,启动时可能比默认临时目录慢个几秒,这是杀软扫描文件导致的,和参数本身没有关系
是否会对系统文件造成不良影响
- 正常配置下完全不会损坏系统文件,官方之所以标风险提示,根本原因是参数配错了会搞崩你自己的程序,不是会搞坏系统:
- 最常见的坑是选了普通用户没读写权限的路径,比如系统核心的Windows目录、Program Files下的受保护目录,程序启动时直接报权限错误打不开
- 第二个坑是残留文件占空间:系统默认临时目录会被系统定期自动清理,要是你自己选了个固定路径当临时目录,每次启动程序解压出来的文件不会自动删除,时间长了会攒一堆垃圾占用磁盘空间
- 第三个坑是多开冲突:默认配置下PyInstaller每次启动都会生成随机名的独立临时文件夹,不会和其他正在运行的同程序冲突;要是你自定义路径时强行关闭了随机子目录生成逻辑,多开程序时会出现文件占用报错
官方那句"请仅在明确自身操作后果的前提下使用该选项",本质是提醒别乱选路径踩上面说的几个坑,不是说这个参数本身有什么破坏系统的副作用。
稳妥使用的几个注意点
- 优先选当前登录用户默认有完全读写权限的路径,比如用户个人目录下自建的缓存子文件夹
- 别把临时路径设到系统受保护目录、移动存储、网络映射盘
- 用了自定义临时目录的话,最好在程序退出逻辑里加个简单的临时文件清理代码,避免垃圾残留
内容的提问来源于stack exchange,提问作者Akascape
相关产品推荐
相关产品推荐

