• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

pip安装出现错误“No matching distribution found for ”

遇到很奇怪的一个错误,不知道怎么解。

Jeson:iops renren$ /opt/python3.6/bin/pip install django
Collecting django
  Could not find a version that satisfies the requirement django (from versions: )
No matching distribution found for django
You are using pip version 9.0.1, however version 9.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

 

光看这个错误,提示我选择升级,但按道理安装django这种简单常见的安装,不应该和我pip的版本有关系?

而且提示更新的版本9.0.3 和 9.0.1 ,这两个版本差别不大,很难知道具体问题在哪?

 

我的排查思路如下:

1、通过-vvv ,打印出详细的输出信息

这个时候,我可以获取到更为深入,确定信息。

通过这个错误,搜索谷歌、百度 ,有技术人员提出更新或者重装pip。

  File "/opt/python3.6/lib/python3.6/site-packages/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/opt/python3.6/lib/python3.6/site-packages/pip/index.py", line 514, in find_requirement
    'No matching distribution found for %s' % req
pip.exceptions.DistributionNotFound: No matching distribution found for django

2、更新pip

(1)通过如下两种命令,都无法顺利直接完成更新

sudo /opt/python3.6/bin/pip3 install --upgrade django

Could not fetch URL https://pypi.python.org/simple/django/: 403 Client Error: TLSv1.2+ is required for url: https://pypi.python.org/simple/django/ - skipping
  Could not find a version that satisfies the requirement django (from versions: )

这是用easy_install 方式,如下:

 sudo /opt/python3.6/bin/easy_install-3.6 --upgrade pip=9.0.3 

error: Not a URL, existing file, or requirement spec: 'pip=9.0.3'

(2)这个时候考虑重装的方式来更新

wget https://bootstrap.pypa.io/get-pip.py

sudo /opt/python3.6/bin/python3 ./get-pip.py

 

通过这种方式重新完成安装,并且测试pip可正常使用。

所以,通过这一个例子,我想作几点总结:

1、重视错误日志

如果错误不详细,需要想办法找出更多错误原因,如:

如:执行命令时候加入-vvv

如:程序中修改debug日志模式

如:python中错误详细追踪模块traceback

 

2、归纳问题

总结下现在情况,什么时间、什么条件下,出现的这种错误

 

3、找方法

(1)我推荐大家使用google,不行那就百度

但无论选择哪种搜索引擎,一定要找到问题的重点。

因为搜索引擎不会听你的长篇大论,输入越多,搜索引擎越难匹配到你想搜索的内容。

 

你需要根据问题的点来搜索:

举个例子,如果你搜索这个错误

pip.exceptions.DistributionNotFound: No matching distribution found for django

这个搜索结果会比如下的方式搜索结果少

pip.exceptions.DistributionNotFound: No matching distribution found for

因为去除到django后,其实错误性质是一样的。但能得到可能的结果就多了。

 

(2)学会问问题

就好像问路似的,你需要清楚告诉别人你想去的地点。这样才能起到问路的效果。

 

最后,感谢互联网,提供了我们一个更好的方式去追踪搜索问题的足迹。

 

pip安装出现错误“No matching distribution found for ”

Pingbacks已打开。

引用地址

暂无评论

发表评论