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

升级5年历史Django项目遇问题:pip freeze生成requirements.txt出现HUL字符

解决pip freeze生成requirements.txt出现特殊字符的问题

可能原因及解决方法

1. 终端编码不匹配

Windows终端默认编码常和pip输出编码冲突,导致重定向时出现乱码。可以强制指定UTF-8编码输出:

  • PowerShell环境执行:
    pip freeze | Out-File -Encoding UTF8 requirements.txt
    
  • CMD环境执行:
    chcp 65001
    pip freeze > requirements.txt
    
    chcp 65001是切换终端为UTF-8编码,之后再执行freeze命令可避免编码乱码。

2. 清理已生成的异常文件

如果已经得到有问题的requirements.txt,用Python脚本快速清理特殊字符:
创建clean_requirements.py脚本:

with open('requirements.txt', 'r', encoding='utf-8', errors='replace') as f:
    lines = f.readlines()

cleaned_lines = []
for line in lines:
    # 过滤不可打印的特殊字符
    cleaned_line = ''.join(c for c in line if c.isprintable() or c == '\n')
    # 确保包名和版本号的分隔格式正确
    if '==' in cleaned_line:
        pkg, ver = cleaned_line.split('==', 1)
        cleaned_line = f"{pkg.strip()}=={ver.strip()}\n"
    cleaned_lines.append(cleaned_line)

with open('cleaned_requirements.txt', 'w', encoding='utf-8') as f:
    f.writelines(cleaned_lines)

执行脚本后会生成清理后的cleaned_requirements.txt文件。

3. 排查pip或虚拟环境问题

  • 升级pip到最新版本,修复可能的输出bug:
    pip install --upgrade pip
    
  • 确保当前激活的虚拟环境正常,未与全局Python环境产生冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:30:41