setuptools pyproject.toml 相当于 `python setup.py clean --all`

rin*_*ngo 10 python setuptools pyproject.toml

我要从 迁移setup.pypyproject.toml。安装我的包的命令似乎是相同的,但我找不到pyproject.toml清理构建工件的命令是什么。相当于什么python setup.py clean --all

wim*_*wim 7

基于构建不需要distutils 命令cleanpyproject.toml调用PEP517 / PEP518挂钩的现代工具(例如build )会在构建时创建临时目录或缓存目录来存储中间文件,而不是在项目目录中散布子目录build

不管怎样,它一开始并不是一个令人兴奋的命令rm -rf build,并且做同样的工作。

  • 在实践中,这对我来说并非如此,至少以“setuptools”当前实现“pyproject.toml”的方式是这样。现在,“build”正在我现有的 /data 目录中创建一个 <project-name>.egg-info 目录,并且不会清理它。 (5认同)

小智 6

我在迁移时遇到了同样的问题。wim 的回答似乎大部分都是正确的。

如果您按照setuptools文档所述进行操作并使用,则不会创建python -m build该目录,而是会创建该目录。builddist

但是,如果您这样做,即使您正在使用文件,pip install .目录build也会被留下pyproject.toml。如果您更改包结构或重命名文件,这可能会导致问题,因为有时build会安装目录中的旧版本而不是当前的更改。

就我个人而言,我运行pip install . && rm -rf buildpip install . && rmdir /s /q buildfor Windows。可以扩展它以删除任何其他不需要的工件。