解决pip install 卡住不动的问题
作者:counsellor 发布时间:2021-06-16 16:25:13
啥也不说了,眼泪哗哗的 –来自怨念深重的不灵狗。
【运行环境】
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.5Using 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库了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/counsellor/article/details/52026234


猜你喜欢
- 之前看到很多人一直都问CSS 中DIV垂直居中的问题,看来对此的需求还不少。现在就把我经验拿出来分享一下,希望大家鼓鼓掌。因为在 CSS 中
- 本文实例讲述了Python3.5内置模块之os模块、sys模块、shutil模块用法。分享给大家供大家参考,具体如下:1、os模块:提供对操
- 本文实例讲述了JS实现为排序好的字符串找出重复行的方法。分享给大家供大家参考,具体如下:实现这样一个需求,在一个Editplus文档中,有很
- 问题一:TypeError: a bytes-like object is required, not 'str'解决:该问
- 在编程领域里,枚举用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个实体对象的状态机来说,它通常与这个对象在
- print只是为了向用户显示一个字符串,表示计算机内部正在发生的事情。计算机却无法使用该print出现的内容。return是函数的返回值。该
- 因一些特殊需求需要以参数的形式获取字典 * 定的值,网上搜了一下并没有特别好的实现(并没有太认真去找~),所以自己实现了一个,以供大家参考:)
- SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一
- 概述从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串、列表、字典等数据结构的内置方法,和
- 抽象工厂模式Abstract Factory Pattern是什么抽象工厂模式是一种创建型模式,它提供了一种创建一系列相关或相互依赖对象的最
- 前言在启动 Django 项目时,Django 默认监听的端口号为 8000,设置的默认 IP 地址为 127.0.0.1 。如果需要修改默
- TCP客户端程序开发1. 开发 TCP 客户端程序开发步骤回顾创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字2.
- 准备软件:1. J2SDK(1.5.0): jdk-1_5_0-linux-i586-rpm.bin2. Apache(2.0.53): h
- 如果你写一个 bug 管理系统,用了这个 PeriodLimit 你就可以限制每个测试人员每天只能给你提一个 bug。工作是不是就轻松很多了
- 1. 查看本机系统及python版本# cat /etc/redhat-release CentOS release 6.7 (Final)
- 使用自带的函数就可以实现:lineEdit.setEchoMode(QLineEdit.Password)import structfrom
- 实现思路是用深度遍历,对图片进行二值化处理,先找到一个黑色像素,然后对这个像素的周围8个像素进行判断,如果没有访问过,就保存起来,然后最后这
- 一、软件测试大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活动,而软件
- 环境:编辑工具:浏览器:安装xlrd安装DDT一 分析1 目录结构2 导入包二 代码import xlrdcl
- 本文实例讲述了JS实现简单的二元方程计算器功能。分享给大家供大家参考,具体如下:<!DOCTYPE HTML PUBLIC "