9

使用版本 0.9.6调用setupfromsetuptools我可以运行以下命令:

python setup.py clean

但这究竟是做什么的?此命令的帮助有点稀疏,并且正在运行

python setup.py clean --all

给出无用的陈述,如

'build/lib.linux-i686-2.7' does not exist -- can't clean it

是否有可能使用此clean命令来自动清理以.pycand结尾的临时 python 文件.~?可以用这个命令完成吗,是否需要配置,...?

4

1 回答 1

7

据我所知,它只是删除了buildPython 放置所有要安装的文件的子目录,包括需要编译的扩展。

其他地方不应该有任何*.pyc文件,除非您在源目录中的某些脚本上运行 Python(如果您运行测试可能会发生这种情况),或者直接从源目录导入模块。 *~文件是 emacs 备份文件,因此无论如何都不会被清理setup.py。(如果您从 中看到了这种行为make clean,那仅仅是因为有人将其编码到 Makefile 中。)

您可能可以覆盖 clean 命令以(递归地)删除*.pyc文件,但我怀疑是否有必要。一般来说,如果前者发生变化,Python 足够聪明,可以将文件重新编译*.py*.pyc文件,否则使用后者只会更快。

我遇到了一个警告,那就是在执行 a 时setup.py build_ext --inplace,清理不会删除已编译的模块,因为它们不在构建目录中。对我来说,这感觉像是 clean 命令的缺点。

总的来说,看起来添加了 clean 命令是为了符合make的行为,但它似乎并没有增加太多。

于 2013-07-23T09:11:37.410 回答