pipreqs 在 virtualenv 下出现 unicode 错误

问题描述 投票:0回答:4

我尝试在虚拟环境中使用

pipeqs
生成requirements.txt
virtualenv
)。

但是,我得到了如下错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 184:
ordinal not in range(128)

然后我尝试了:

pipreqs --encoding=utf-8

仍然出现错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 64:
invalid start byte

不确定有人知道如何解决这个问题。

python-3.x virtualenv
4个回答
8
投票

我得到了完全相同的错误。阅读 Theo 的答案,我在 venv 中找到了解决方法

pipreqs --ignore bin,etc,include,lib,lib64

4
投票

尝试:

pipreqs --encoding=iso-8859-1

1
投票

Pipreqs 仅对所有文件使用唯一的编码,因此指定特定的编码并不能解决所有问题(例如,参见此问题:截至目前,库中还没有动态确定编码的方法)。

因此,使用

pipreqs --encoding=iso-8859-1
可能会解决您的问题,但它也可能导致包含非 iso-8859-1 文件的其他模块崩溃(在我的例子中,
ast
包)。

据我所知,对此没有干净的解决方案,但一个肮脏的解决方法可能是暂时注释源代码中的错误导入。


0
投票

我必须运行以下命令来忽略虚拟环境目录:

pipreqs --ignore <env_dir>

就我而言,我跑了:

pipreqs --ignore .env

© www.soinside.com 2019 - 2024. All rights reserved.