清除所有__pycache__文件夹和.pyc/。python3项目中的Pyo文件。我见过许多用户建议将pyclean脚本与Debian捆绑在一起,但这并没有删除文件夹。在将文件推送到分布式交换机之前,我想要一个简单的方法来清理项目。
当前回答
你可以用下面的命令手动完成:
find . | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
这将从当前目录开始递归地删除所有.pyc和.pyo文件以及__pycache__目录。
其他回答
请到你的终端然后输入:
$rm __pycache__
它将被移除。
尽可能的简单
#!/bin/bash
project_root_dir=$(pwd)
#
# function _dcache deletes __pycache__ folders floating around python modules
#
function _dcache() {
find "$project_root_dir/inb" -name "__pycache__" > pycache
while IFS= read -r cache_file; do
rm -r $cache_file
done < pycache
rm pycache
}
这是我在项目中使用的。你可以试试。
如果你需要一个永久的解决方案来让Python缓存文件远离你的项目目录:
从Python 3.8开始,您可以使用环境变量PYTHONPYCACHEPREFIX为Python定义缓存目录。
来自Python文档:
如果设置了该值,Python将在镜像目录树的此路径下写入.pyc文件,而不是在源树的__pycache__目录中。这相当于指定-X pycache_prefix=PATH选项。
例子
如果将下面的行添加到~/。Linux下的profile shell配置文件:
export PYTHONPYCACHEPREFIX="${HOME}/.cache/Python"
Python不会在你的项目目录中创建恼人的__pycache__目录;相反,它会把它们都放在~/.cache/Python下
如果您使用Linux和macOS,可以将这些行添加到~/。Bash_profile / ~/。跨平台shell配置的概要文件(也会根据需要创建文件夹):
# set python cache folder for .pyc files:
# https://stackoverflow.com/a/57415054
case "${OSTYPE}" in
darwin*)
folder="${HOME}/Library/Caches/Python"
if [[ ! -d "${folder}" ]]; then mkdir -p "${folder}"; fi
export PYTHONPYCACHEPREFIX="${folder}"
;;
linux-*)
folder="${HOME}/.cache/Python"
if [[ ! -d "${folder}" ]]; then mkdir -p "${folder}"; fi
export PYTHONPYCACHEPREFIX="${folder}"
;;
*)
printf "WARNING: unsupported operating system '%s'; "`
`'not setting PYTHONPYCACHEPREFIX' "${OSTYPE}" >&2
return 1
;;
esac
我使用的命令:
找到。-type d -name "__pycache__" -exec rm -r {} +
解释道:
首先查找当前目录下的所有__pycache__文件夹。 执行rm -r{} +删除上述步骤中的每个文件夹({}表示占位符,+表示结束命令)
编辑1:
我使用的是Linux,为了重用下面添加到~/的命令行。bashrc文件(
alias rm-pycache='find . -type d -name "__pycache__" -exec rm -r {} +'
编辑2: 如果你使用VS Code,你不需要手动删除__pycache__。 您可以将下面的代码片段添加到设置中。json文件。之后,VS Code会为你隐藏所有__pycache__文件夹
"files.exclude": {
"**/__pycache__": true
}
希望能有所帮助!!
当我把pyclean误认为pycclean时,我自己找到了答案:
No command 'pycclean' found, did you mean:
Command 'py3clean' from package 'python3-minimal' (main)
Command 'pyclean' from package 'python-minimal' (main)
pycclean: command not found
运行py3clean。打扫得很干净。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录