You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Python build-module时能否指定临时文件的其他目录?

解决Python build模块在只读项目目录生成临时文件的问题

你可以通过两种方式避免build在只读的项目目录下创建build/和*.egg-info/目录:

方法1:使用BUILD_TMPDIR环境变量

build模块支持未在--help中列出的BUILD_TMPDIR环境变量,用来指定所有临时文件的存放路径。执行构建命令时先设置这个变量,所有临时构建文件就会放到你指定的目录里,不会改动原项目目录:

BUILD_TMPDIR=/tmp/build_temp python3 -m build --wheel --outdir /tmp .

执行后,build/和myproject.egg-info/这类临时目录都会生成在/tmp/build_temp下,原只读项目目录保持不变。

方法2:复制项目到临时目录后构建

如果你的build版本不支持BUILD_TMPDIR(比如非常旧的版本),可以先把项目文件复制到一个临时目录,在临时目录里完成构建,最后清理临时目录:

# 创建临时项目目录
temp_proj=$(mktemp -d)
# 复制当前项目的所有文件到临时目录
cp -r ./* "$temp_proj/"
# 在临时目录执行构建,输出wheel到/tmp
python3 -m build --wheel --outdir /tmp "$temp_proj"
# 清理临时项目目录
rm -rf "$temp_proj"

这个方法完全隔离了原项目目录,确保不会有任何写入操作。

内容的提问来源于stack exchange,提问作者Mikhail T.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:12:02