从版本为 0.9.6 的 setuptools
调用 setup
我可以运行以下命令:
python setup.py clean
但是这到底是做什么的呢?此命令的帮助有点稀疏,正在运行
python setup.py clean --all
给出无用的陈述,如
'build/lib.linux-i686-2.7' does not exist -- can't clean it
是否有可能使用此 clean
命令来例如自动清理以 .pyc
和 .~
结尾的临时 python 文件?这可以用这个命令完成吗,是否需要配置,...?
最佳答案
据我所知,它只是删除了 build
子目录,Python 将所有要安装的文件放在该目录中,包括需要编译的扩展。
别处不应该有任何 *.pyc
文件,除非您在源目录中的某些脚本上运行 Python(如果您运行测试可能会发生),或者直接从源导入模块目录。
*~
文件是 emacs 备份文件,因此无论如何都不会被 setup.py
清除。 (如果您从 make clean
中看到了这种行为,那只是因为有人将其编码到 Makefile 中。)
您可能可以通过(递归地)删除 *.pyc
文件的方式覆盖 clean 命令,但我怀疑是否有必要。一般来说,Python 足够聪明,可以将 *.py
文件重新编译为 *.pyc
文件,如果前者发生变化,否则使用后者会更快。
我遇到一个警告,那就是在执行 setup.py build_ext --inplace
时,清理不会删除已编译的模块,因为它们不是在构建目录中。对我来说,这是 clean 命令的缺点。
总的来说,似乎添加了 clean 命令以符合 make
的行为,但似乎并没有增加太多。
关于python - "setup.py clean"究竟是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17804185/