首页 > 解决方案 > Pipreqs 有字符编码错误,即使在尝试 iso-8859-1 和 utf-8 后也无法工作

问题描述

我尝试运行 pipreqs 来生成 requirements.txt,但出现以下错误

pipreqs --encoding=iso-8859-1

 File "/Users/kaushik/opt/anaconda3/bin/pipreqs", line 8, in <module>
    sys.exit(main())
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 470, in main
    init(args)
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 406, in init
    candidates = get_all_imports(input_path,
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 138, in get_all_imports
    raise exc
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 124, in get_all_imports
    tree = ast.parse(contents)
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/ast.py", line 47, in parse
    return compile(source, filename, mode, flags,
  File "<unknown>", line 2522
    def cassé(x):

pipreqs --encoding=utf8

Traceback (most recent call last):
  File "/Users/kaushik/opt/anaconda3/bin/pipreqs", line 8, in <module>
    sys.exit(main())
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 470, in main
    init(args)
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 406, in init
    candidates = get_all_imports(input_path,
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/site-packages/pipreqs/pipreqs.py", line 122, in get_all_imports
    contents = f.read()
  File "/Users/kaushik/opt/anaconda3/lib/python3.8/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 64: invalid start byte

标签: pythoncharacter-encoding

解决方案


推荐阅读