前言: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”):

      https://pypi.org/

    Windows(主要提供Windows版本的后缀是".whl"):

      https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow

      https://pypi.org/simple/

  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开发:部分第三方库无法在线安装解决方法的更多相关文章

  1. 升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)

    升级完xcode,真机运行发现报错,第三方库错误,微信SDK,高德SDK都报错,如下: ‘/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib ...

  2. Hadoop streaming使用自定义python版本和第三方库

    在使用Hadoop的过程中,遇到了自带python版本比较老的问题. 下面以python3.7为例,演示如何在hadoop上使用自定义的python版本以及第三方库. 1.在https://www.p ...

  3. Python及其常用模块库下载及安装

    一.Python下载:https://www.python.org/downloads/ 二.Python模块下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...

  4. Python中使用第三方库xlrd来写入Excel文件示例

    Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...

  5. 基于QT开发的第三方库

    基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库   目录(?)[+]   文章来源:http://blog.csdn.net ...

  6. Android开发华为手机无法看log日志解决方法

    Android开发华为手机无法看log日志解决方法 上班的时候,由于开发工具由Eclipse改成Android Studio后,原本的华为手机突然无法查看崩溃日志了,大家都知道,若是无法查看日志要它毛 ...

  7. 记一次SpringBoot 开发中所遇到的坑和解决方法

    记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...

  8. python学习笔记(9)--Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

    Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法 这篇文章主要介绍了Python UnicodeEncodeErro ...

  9. Android开发环境搭建时遇到问题的解决方法

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/linux_loajie/article/details/33823637 Android开发环境搭建 ...

随机推荐

  1. 你不知道的JavaScript--Item16 for 循环和for...in 循环的那点事儿

    大家都知道在JavaScript中提供了两种方式迭代对象: for 循环: for..in循环: 1.for循环 不足: 在于每次循环的时候数组的长度都要去获取: 终止条件要明确: 在for循环中,你 ...

  2. TCP的延迟ACK机制

    TCP的延迟ACK机制 TCP的延迟ACK机制一说到TCP,人们就喜欢开始扯三步握手之类的,那只是其中的一个环节而已.实际上每一个数据包的正确发送都是一个类似握手的过程,可以简单的把它视为两步握手.一 ...

  3. 三元运算符 与 return

    有三元运算符可以很好的代替if else简单语句 但是在使用的时候发现 与 return使用的时候 需要用这种形式 错误形式: $a ? return 1 ? return 0; 正确形式: retu ...

  4. APP版本更新通知流程测试要点

    一.APP版本更新通知流程图如下: 二.测试注意点: 1.Android更新直接下载APK,IOS引导至APP Store更新页面: 强制更新------只有"立即更新" 1.一般 ...

  5. Django模板修炼

    引言:由于我们在使用Django框架时,不会将HTML代码采用硬编码的方式,因为会有以下缺点: 1:对页面设计进行的任何改变都必须对 Python 代码进行相应的修改. 站点设计的修改往往比底层 Py ...

  6. Java数据结构之堆和优先队列

    概述 在谈堆之前,我们先了解什么是优先队列.我们每天都在排队,银行,医院,购物都得排队.排在队首先处理事情,处理完才能从这个队伍离开,又有新的人来排在队尾.但仅仅这样就能满足我们生活需求吗,明显不能. ...

  7. RabbitMQ指南之一:"Hello World!"

    为什么要使用MQ消息中间件?它解决了什么问题?关于为什么要使用消息中间件?消息中间件是如何做到同步变异步.流量削锋.应用解耦的?网上已经有很多说明,我这里就不再说明了,读者可以参考(https://w ...

  8. JAVA基础第一章-初识java

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 从今天开始,我将会持续更新java基础知识,欢迎关注. java的诞生 ...

  9. 『Lucas定理以及拓展Lucas』

    Lucas定理 在『组合数学基础』中,我们已经提出了\(Lucas\)定理,并给出了\(Lucas\)定理的证明,本文仅将简单回顾,并给出代码. \(Lucas\)定理:当\(p\)为质数时,\(C_ ...

  10. Docker最全教程之Go实战,墙裂推荐(十八)

    前言 与其他语言相比,Go非常值得推荐和学习,真香!为什么?主要是可以直接编译成机器代码(性能优越,体积非常小,可达10来M,见实践教程图片)而且设计良好,上手门槛低.本篇主要侧重于讲解了Go语言的优 ...