画中画 |警告:无法生成分发要求 -ertifi 2019.11.28

Posted

技术标签:

【中文标题】画中画 |警告:无法生成分发要求 -ertifi 2019.11.28【英文标题】:PIP3 | WARNING: Could not generate requirement for distribution -ertifi 2019.11.28 【发布时间】:2020-04-20 11:19:06 【问题描述】:

我最近卸载了我本地系统中安装的所有 pip3 包。

现在,每当我输入 pip3 freeze 时,都会弹出以下警告:

WARNING: Could not generate requirement for distribution -ertifi 2019.11.28 
(/usr/local/lib/python3.7/site-packages): Parse error at "'-ertifi='": Expected W:(abcd...)

如何消除此警告。

我尝试过brew reinstall python3,因为这会重新安装 python3 和 pip3,但它似乎不起作用。

请帮我解决这个问题。

【问题讨论】:

这能回答你的问题吗? pip how to remove incorrectly installed package with a leading dash: "-pkgname" ***.com/search?q=%5Bpip%5D+leading+dash @phd 这很有用,但是,很明显有问题的包是certifi,这就引出了一个问题,它是如何安装的?为什么是-ertifi 而不是certifi?我在创建 poetry 的 virtualenv 时遇到了同样的问题,并通过 nuking 和重新创建虚拟 env 解决了这个问题。 @Ferran:我的建议:去你的/usr/local/lib/python3.7/site-packages 并手动清理它,然后重新安装你需要的打包。 ?????? @DimaTisnek 你是对的。包名不知何故拼错了。我重新安装了,效果很好。 【参考方案1】:

所以我得到了同样的错误,但不同的包:

WARNING: Could not generate requirement for distribution -niso8601 8.0.0 (...) venv/lib/python3.6/site-packages): Parse error at "'-niso860'": Expected W:(abcd...)

原来是我的第一个包裹中缺少一封信!我需要“aniso8601 == 7.0.0”我确实从具有我需要的相同包的不同venv冻结,复制并粘贴到新项目文件夹中的requirements.txt中。然后新项目中的requirements.txt文件就安装成功了。

TL;DR:我的 requirements.txt 文件有错字。

【讨论】:

我看到很多用户都出现了这个错误,我不相信它总是用户错误。我很确定我有一个工作的 venv,它“完全自行”破坏(可能是 python 或 distutils 或 pip 更新)并突然拒绝工作。 ?‍♂️ @DimaTisnek,老实说我也不确定。【参考方案2】:

在将 windows 下的 pip 从 20.1.1 版本升级到 20.2.3 版本后,我遇到了类似的问题

原来老版本的pip正在重命名不能删除的文件夹,把第一个字母换成tilda~

新版本的 pip 将此 tilda 视为连字符 - 我不知道为什么

【讨论】:

我登录只是为了点赞。使用 pip3 show 我能够找到“pip3 freeze”正在中断的文件夹“~andas”。我将 dir 更改为它显示的路径(~/.local/lib/python3.8/site-packages),并且能够删除所有以 ~ 开头的文件夹,并且 pip3 freeze 再次起作用。

以上是关于画中画 |警告:无法生成分发要求 -ertifi 2019.11.28的主要内容,如果未能解决你的问题,请参考以下文章

如何避免“Windows Defender SmartScreen 阻止无法识别的应用程序启动警告”

推荐的方式来分发Halide生成的函数?

如何在HTML中画一条线

警告:找不到分发的 svn 位置==0.6.16dev-r0

基本 .ajax 发布到 rails 3.2.2 脚手架,生成“警告:无法验证 CSRF 令牌真实性”

在没有“不受信任的开发者”警告的情况下手动安装 iOS 企业应用程序(内部分发)