解决pip install 卡住不动的问题

 更新时间:2021年03月06日 11:04:29   作者:counsellor  
这篇文章主要介绍了解决pip install 卡住不动的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

啥也不说了,眼泪哗哗的 –来自怨念深重的不灵狗。

【运行环境】

1、在ubuntu下使用pip安装flask-mongoengine;

2、pip已经升到最高版本,你妹,旧版本ctrl + c后还能知道断在哪,新的就直接连个p都没有;

3、使用了豆瓣的源做了加速,安装时还加了能翻墙的代理,然并卵;

4、卡住了,怎么描述错误提示?国内和国外google了下都没有啥相关问题。

5、Extremely slow pypi package retrieval with i.e. pip可以这样描述吗?

6、Python 2.7.10

【错误提示】

还想要错误提示?提示你妹啊!卡住之后根本没有错误提示。

(venv)➜ flask-mongoengine-0.7.5 pip install flask-mongoengine --proxy=http://proxy.xxx.com:80 -v
Collecting flask-mongoengine
1 location(s) to search for versions of flask-mongoengine:
* http://pypi.douban.com/simple/flask-mongoengine/
Getting page http://pypi.douban.com/simple/flask-mongoengine/
Starting new HTTP connection (1): proxy.corp.qihoo.net
"GET http://pypi.douban.com/simple/flask-mongoengine/ HTTP/1.1" 301 178
"GET http://pypi.doubanio.com/simple/flask-mongoengine/ HTTP/1.1" 200 1068
Analyzing links from page http://pypi.doubanio.com/simple/flask-mongoengine/
Found link http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz#md5=e207998d4ab5237582c4983cd18ab484 (from http://pypi.doubanio.com/simple/flask-mongoengine/), version: 0.7.5

Using version 0.7.5 (newest of versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7.0, 0.7.1, 0.7.3, 0.7.4, 0.7.5)
"GET http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz HTTP/1.1" 200 110621
Downloading http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz (110kB)
Downloading from URL http://pypi.doubanio.com/packages/f3/46/e527ea37dd53e5addae8167c2e5850029c7be98add465928cac7d1d10d0e/flask-mongoengine-0.7.5.tar.gz#md5=e207998d4ab5237582c4983cd18ab484 (from http://pypi.doubanio.com/simple/flask-mongoengine/)
100% |████████████████████████████████| 112kB 44.5MB/s
Running setup.py (path:/tmp/pip-build-5h86uM/flask-mongoengine/setup.py) egg_info for package flask-mongoengine
Running command python setup.py egg_info
#卡在这里不动了
^CCleaning up...
Operation cancelled by user

【问题原因】

手动执行,发现断在了sock,ssl建立那块的代码,说明在下载东西;

明明指定了douban的源, 却下的依然很慢;

真相只有一个,flask-mongoengine这个库安装时很贱的又自己安装了其他库(这里笔者称为二次安装),二次安装时走的源是python自带的[https://pypi.python.org],这样就卡住了。

【解决方案】

笔者没有找到比较优美的方式解决问题,在pip.conf中没有设置二次安装时指定源的方法,英文好的可以再研究下pip使用的官方文档.

1. root用户下编辑文件/usr/lib/python2.7/dist-packages/setuptools/package_index.py;

2. 插下广告:用virtualenv的同学要修改venv目录下的./lib/python2.7/site-packages/setuptools/package_index.py。

3. 跳到第261行,硬编码index_url的值,改完后如下:

 class PackageIndex(Environment):
  """A distribution index that scans web pages for download URLs"""
  def __init__(
    self, index_url="http://pypi.douban.com/simple", hosts=('*',),
    ca_bundle=None, verify_ssl=True, *args, **kw
    ):
   Environment.__init__(self,*args,**kw)
   index_url = "http://pypi.douban.com/simple"
   self.index_url = index_url + "/"[:not index_url.endswith('/')]

【执行结果】

执行命令 pip install flask-mongoengine ,贴一下成功后的提示(holy shit!)

...
done
 Removing source in /tmp/pip-build-ZSaB9M/flask-mongoengine
Successfully installed WTForms-2.1 flask-mongoengine-0.7.5 flask-wtf-0.12
Cleaning up...

【fck】

csdn做的markdown这SX玩应儿,在numbered list 中间插个code block,代码块后的序号就对不上了,用官方的解决方案完全没用,只能给最后一条分出个标题了,可怜处女座了。

补充:Python 安装模块时,使用pip install xxx安装时,很慢的解决方法

最近在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。

最近使用得比较多并且比较顺手的是清华大学的pip源,它是官网pypi的镜像,每隔5分钟同步一次,地址为 https://pypi.tuna.tsinghua.edu.cn/simple

临时使用方法

比如我们需要安装 selenium 库,那么可以使用这样的安装命令

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium 

这样就可以从清华大学的镜像很快去安装selenium库了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python解决非线性规划中经济调度问题

    Python解决非线性规划中经济调度问题

    Scipy是Python算法库和数学工具包,包括最优化、线性代数、积分、插值、特殊函数、傅里叶变换等模块。scipy.optimize模块中提供了多个用于非线性规划问题的方法,适用于不同类型的问题。本文将利用起解决经济调度问题,感兴趣的可以了解一下
    2022-05-05
  • python如何将自己的包上传到PyPi并可通过pip安装的方法步骤

    python如何将自己的包上传到PyPi并可通过pip安装的方法步骤

    本文主要介绍了python如何将自己的包上传到PyPi并可通过pip安装的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • python版本坑:md5例子(python2与python3中md5区别)

    python版本坑:md5例子(python2与python3中md5区别)

    这篇文章主要介绍了python版本坑:md5例子(python2与python3中md5区别),需要的朋友可以参考下
    2017-06-06
  • 如何用PyPy让你的Python代码运行得更快

    如何用PyPy让你的Python代码运行得更快

    这篇文章主要介绍了如何用PyPy让你的Python代码运行得更快,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python3 使用函数求两个数的和与差

    python3 使用函数求两个数的和与差

    这篇文章主要介绍了python3 使用函数求两个数的和与差,具有很好的参考价值,希望对大家有所帮助。
    2021-05-05
  • python经典100题之皮球掉落的几种解法

    python经典100题之皮球掉落的几种解法

    这篇文章主要给大家介绍了关于python经典100题之皮球掉落的几种解法,这个问题相信不少人都可以从网络上找到相对应的答案本文提供了3种解法,需要的朋友可以参考下
    2023-11-11
  • Python实现的一个自动售饮料程序代码分享

    Python实现的一个自动售饮料程序代码分享

    这篇文章主要介绍了Python实现的一个自动售饮料程序代码分享,就是用python实现的生活中一种投币式自动售饮料机的内部程序判断代码,需要的朋友可以参考下
    2014-08-08
  • Python的形参和实参使用方式

    Python的形参和实参使用方式

    今天小编就为大家分享一篇Python的形参和实参使用方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python基于list的append和pop方法实现堆栈与队列功能示例

    Python基于list的append和pop方法实现堆栈与队列功能示例

    这篇文章主要介绍了Python基于list的append和pop方法实现堆栈与队列功能,结合实例形式分析了Python使用list定义及使用队列的相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • 基于Python实现图像文字识别OCR工具

    基于Python实现图像文字识别OCR工具

    在工作、生活中常常会用到,比如票据、漫画、扫描件、照片的文本提取。本文主要介绍了基于PyQt + PaddleOCR实现的一个桌面端的OCR工具,用于快速实现图片中文本区域自动检测+文本自动识别,需要的朋友可以参考一下
    2021-12-12

最新评论