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

如何让Black格式化工具忽略符号链接以避免无限循环?

解决Black遍历符号链接无限循环的问题

方案一:让Black跳过符号链接

直接通过--exclude参数指定要忽略的符号链接路径,避免Black进入无限递归:

poetry run black ./etl --exclude 'etl/raw/etl'

如果符号链接的路径有变化,只需调整--exclude后的匹配规则即可。另外,较新版本的Black支持--no-follow-symlinks参数,能直接阻止工具遍历符号链接:

poetry run black ./etl --no-follow-symlinks

方案二:移除符号链接,优化导入结构

符号链接并非实现绝对导入的最优方案,推荐通过以下方式从根源解决问题:

  • 调整项目结构:将根目录的config.py移动到etl文件夹下,此时raw.py里的from etl.config import MY_CONSTANT就能天然生效,完全不需要符号链接。
  • 添加Python路径:在运行格式化命令前,将项目根目录加入Python环境变量PYTHONPATH,示例:
    export PYTHONPATH=$(pwd)
    poetry run black ./etl
    
    这样Python会把根目录视为包搜索路径,raw.py里可以直接用from config import MY_CONSTANT,同样无需依赖符号链接。

内容的提问来源于stack exchange,提问作者Matheus Schaly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:50:31