Python开发:部分第三方库无法在线安装解决方法
前言:Python开发:Python2和Python3的共存和切换使用
一、问题如下:
1、截图:

2、错误信息:
Could not find a version that satisfies the requirement re (from versions: )
No matching distribution found for re
3、翻译:
找不到满足re要求的版本(来自版本: ) 找不到re的匹配分布
二、解决方法:
1、采用国内镜像则能够提高安装成功率并提速:
| http://mirrors.aliyun.com/pypi/simple/ | 阿里云 |
| https://pypi.mirrors.ustc.edu.cn/simple/ | 中国科技大学 |
| http://pypi.douban.com/simple/ | 豆瓣 |
| https://pypi.tuna.tsinghua.edu.cn/simple/ | 清华大学 |
使用方法:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple re
可能会出现如下问题:

The repository located at pypi.tuna.tsinghua.edu.cn is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host pypi.tuna.tsinghua.edu.cn'.
Could not find a version that satisfies the requirement re (from versions: )
No matching distribution found for re
linux 系统:
在~/.pip/pip.conf (若没有此文件自行创建文件夹要加“.”,表示是隐藏文件夹)中设置以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
Windows系统:
直接在user目录中创建一个pip目录,如:C:\Users\lenovo\pip,新建文件pip.ini,设置以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
2、在网站上下载第三方库的离线包,离线安装:
网上收集的集合网站:
LINUX(主要提供Linux版本的后缀是".whl"和“.tar.gz”):
Windows(主要提供Windows版本的后缀是".whl"):
https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow
python的离线安装,有时候由于不同模块有很多依赖包,所以很容易出错,在线安装会自动安装依赖包,所以一般不会出现安装问题。
离线安装方法,".whl"文件安装如下:
此处以ujson为例:
linux版本的安装(默认文件在当前目录下)
pip3 install ujson的whl文件名
我没有linux版本,这里只列一下代码。
Windows版本的安装(默认文件在当前目录下)
pip3 install ujson‑1.35‑cp36‑cp36m‑win32.whl

在windows下安装时,32位不能使用64位版本的:

ujson-1.35-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.
意思就是说whl名的命名不符合它给的规范。
在python中使用以下命令:
32位:
import pip
print(pip.pep425tags.get_supported())
64位:
import pip._internal
print(pip._internal.pep425tags.get_supported())
结果如下:
支持里有:('cp36', 'cp36m', 'win32'),我安装的是32位的python。
下载的whl名字是:ujson-1.35-cp36-cp36m-win_amd64.whl,这是无法安装的,若改为:ujson-1.35-cp36-cp36m-win32.whl则可以安装。如果是python2.7的,很可能库里存在兼容性问题。
将下载的文件重命名为:

之后就是安装成功:

可以看到在自己python路径下的Lib\site-packages文件夹下,看到ujson文件夹已经存在:

但是调用import ujson命令则会发现:

报错,无法import ujson,这说明即便将64位版本的whl改了命名规范安装成功,也依旧无法正常使用。
在这里这所以将这种方法列出来,是因为网上有一些帖子里说的可以将win_amd64改为win32使用,这样是不行的!之前被网上的某些帖子带到了错路,在开发时才发现有问题。
因此,要使用正确的与python版本对应的原装版本。
先使用命令卸载之前错误的ujson:
pip3 uninstall ujson
卸载时选择y:

下载正确的win32版本:

使用命令进行安装:
pip3 install ujson-1.35-cp36-cp36m-win32.whl

安装完成后再测试:
import ujson

此时,才是真正安装成功。
当然,如果自己电脑上使用的是64位的python,则要使用win_amd64的whl。
还是推荐使用64位的,如果只用一些基本的操作,32位还够用。但是比如说要做机器学习,所用到的tensorflow等,必须要64位才行:

推荐使用离线的方式,在线的不一定靠谱,毕竟是国外网站,有时候一直连不上也是常事。
Python开发:部分第三方库无法在线安装解决方法的更多相关文章
- 升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)
升级完xcode,真机运行发现报错,第三方库错误,微信SDK,高德SDK都报错,如下: ‘/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib ...
- Hadoop streaming使用自定义python版本和第三方库
在使用Hadoop的过程中,遇到了自带python版本比较老的问题. 下面以python3.7为例,演示如何在hadoop上使用自定义的python版本以及第三方库. 1.在https://www.p ...
- Python及其常用模块库下载及安装
一.Python下载:https://www.python.org/downloads/ 二.Python模块下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...
- Python中使用第三方库xlrd来写入Excel文件示例
Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...
- 基于QT开发的第三方库
基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库 目录(?)[+] 文章来源:http://blog.csdn.net ...
- Android开发华为手机无法看log日志解决方法
Android开发华为手机无法看log日志解决方法 上班的时候,由于开发工具由Eclipse改成Android Studio后,原本的华为手机突然无法查看崩溃日志了,大家都知道,若是无法查看日志要它毛 ...
- 记一次SpringBoot 开发中所遇到的坑和解决方法
记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...
- python学习笔记(9)--Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法 这篇文章主要介绍了Python UnicodeEncodeErro ...
- Android开发环境搭建时遇到问题的解决方法
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/linux_loajie/article/details/33823637 Android开发环境搭建 ...
随机推荐
- JavaScript设计模式 Item 7 --策略模式Strategy
1.策略模式的定义 何为策略?比如我们要去某个地方旅游,可以根据具体的实际情况来选择出行的线路. 如果没有时间但是不在乎钱,可以选择坐飞机. 如果没有钱,可以选择坐大巴或者火车. 如果再穷一点,可以选 ...
- 使用Eclipse远程调试
在一般的开发中,有事因为项目需要,测试环境是在Linux下,这是如果出现异常或者bug,调试起来都是很费劲的,如果你还在为这个头疼,那就好好看接下来的总结 1,启动改程序时,不论是脚本启动,还是tom ...
- 【构造】Bzoj1432[ZJOI2009]Function
Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 ...
- [Usaco2007 Open]Fliptile 翻格子游戏 状压dp
n,m<=15,直接搞肯定不行,考虑一行一行来, 每一行的状态只与三行有关,所以从第一行开始枚举,每一次让下面一行填上他上面那行的坑 最后一行必须要同时满足他自己和他上面那行,否则舍去 #inc ...
- h5区块链项目实战
近来区块链一词很热门,网络上关乎其讨论也很多,这里就不解释了,毕竟几句话也是说不清楚的. 最近得空利用HTML5+css3+jQ开发了一个移动端的区块链项目,感觉界面.布局.效果还是ok的. 项目效果 ...
- 一行代码实现数组去重(ES6)
ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...
- DownEditTextView【自定义Edittext对Android 软键盘向下的监听】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录自定义EditText控件实现监听软键盘隐藏事件的功能.基本上和参考资料相同. 效果图 代码分析 自定义EditText子 ...
- Python:轻量级 ORM 框架 peewee 用法详解(二)——增删改查
说明:peewee 中有很多方法是延时执行的,需要调用 execute() 方法使其执行.下文中不再特意说明这个问题,大家看代码. 本文中代码样例所使用的 Person 模型如下: class Per ...
- java到底是引用传递还是值传递?
今天我们来讲讲一个在学习中容易误解的问题,面试中也偶尔问到,java方法调用时到底是值传递还是引用传递? 首先,请大家来做一个判断题,下面的3个问题是否描述正确 1. java基本数据类型传递是值传递 ...
- 5.3Role和Claims授权「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注. Role授权 这是一种Asp.Net常用的传统的授权方法,当我们在 ...