Python 3.x 获取pip搜索和pip安装错误

Python 3.x 获取pip搜索和pip安装错误,python-3.x,pip,Python 3.x,Pip,嗨,大约两天了,我收到了这个错误: 错误:XMLRPC请求失败[代码:-32500] RuntimeError:PyPI的XMLRPC API当前由于无法管理的负载而被禁用,并将在不久的将来被弃用。有关更多信息,请参阅。 我问了一些人,搜索了很多,但我不知道问题出在哪里,怎么解决 我尝试了apt update和python3pip安装——升级pip本身推荐的pip 我在android中使用Termux pip几天前还在工作…如果您关注该链接,在上一次更新中,他们声明XMLPRC API已禁用(由

嗨,大约两天了,我收到了这个错误:

错误:XMLRPC请求失败[代码:-32500] RuntimeError:PyPI的XMLRPC API当前由于无法管理的负载而被禁用,并将在不久的将来被弃用。有关更多信息,请参阅。

我问了一些人,搜索了很多,但我不知道问题出在哪里,怎么解决 我尝试了
apt update
python3pip安装——升级pip本身推荐的pip
我在android中使用Termux
pip几天前还在工作…

如果您关注该链接,在上一次更新中,他们声明XMLPRC API已禁用(由于异常流量)。这意味着
pip搜索
当前已禁用。
上一次更新是一个月前发布的,我看不到任何变化。

遗憾的是
pip搜索现在被永久禁止
他们说,他们经历了100天的“每小时数十万次搜索调用”(自2020年11月14日起),搜索调用所使用的XMLRPC API在此之前已被确定为不推荐使用。

因此,我们可能需要直接在上搜索包,或者使用类似于或的包。

对于基于包名模式的搜索,我在下面与您分享这个脚本,希望您觉得它有用

#!/bin/bash
# pypi-search.sh 
# This script fetch data from https://pypi.org/simple/ 
# process the output for simple package name output with perl
# and then apply a regex pattern to the result

pypiurl=https://pypi.org/simple/
currentdate=$(date +%y%m%d)

cachedir=~/.cache/simple-pypi
[[ -d $cachedir ]] || mkdir -p $cachedir

cachefile=$(ls -1 $cachedir/*_simple-pypi.html 2>/dev/null | sort | head -n1)
[[ $cachefile = "" ]] && cachefile=$cachedir/"${currentdate}_simple-pypi.html"

searchpattern="$1"
cmd="$2"

if [[ -f $cachefile ]] ; then
    dbdate=$(echo $cachefile | grep -Po "[0-9]{6,6}")
    # if db is older than 3 days or second parameter is 'update'
    ( (( ($currentdate - $dbdate) > 3 )) || [[ "x$cmd"  = 'xupdate' ]] ) && {
        echo "last update was on : $dbdate"
        cachefile=$cachedir/"${currentdate}_simple-pypi.html"
        wget -q --show-progress -O - $pypiurl > $cachefile
    }
else
    wget -q --show-progress -O - $pypiurl > $cachefile
fi

[[ x$searchpattern = "x" ]] && read -p "Enter pypi name pattern : " searchpattern
perl -pe 's/.*([\/"]{1,1}\>){1,1}([^>]+(.*)[^<])+\<\/a\>/\2/g' $cachefile | grep -P "$searchpattern"
#/bin/bash
#pypi-search.sh
#此脚本从中获取数据https://pypi.org/simple/ 
#使用perl处理简单包名输出的输出
#然后对结果应用正则表达式模式
pypiurl=https://pypi.org/simple/
currentdate=$(日期+%y%m%d)
cachedir=~/.cache/simple pypi
[[-d$cachedir]| | mkdir-p$cachedir
cachefile=$(ls-1$cachedir/*_simple-pypi.html 2>/dev/null | sort | head-n1)
[[$cachefile=”“]]&&cachefile=$cachedir/“${currentdate}\u simple-pypi.html”
searchpattern=“$1”
cmd=“$2”
如果[-f$cachefile]];然后
dbdate=$(echo$cachefile | grep-Po“[0-9]{6,6}”)
#如果数据库超过3天或第二个参数为“更新”
((($currentdate-$dbdate)>3))|【[“x$cmd”='xupdate']])&{
echo“上次更新日期:$dbdate”
cachefile=$cachedir/“${currentdate}\u simple-pypi.html”
wget-q--显示进度-O-$pypiurl>$cachefile
}
其他的
wget-q--显示进度-O-$pypiurl>$cachefile
fi
[[x$searchpattern=“x”]&&read-p“输入pypi名称模式:”searchpattern

perl-pe的s/*([\/“]{1,1}\>){1,1}([^>]+(.*)[^当我对某些模块使用pip search或pip install命令时会发生这种情况。您的问题是什么?引用的文本中有解释–API已禁用。我看到了,但我不明白原因。这是否意味着它将不再工作?您认为我如何修复它?是的,这意味着它不会回来。您不能使用他使用了简单的JSON搜索。我发现这个repo解决了这个问题:我认为它是有效的。:(这是否意味着我被禁止使用pip服务?:((无论如何,谢谢这意味着我们都被禁止了。)(他们不也应该从
pip
中删除
search
子命令吗?这在注册表中包括: