Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 630|回复: 0

Python开发:部分第三方库无法在线安装解决方法

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-18 13:57:00 | 显示全部楼层 |阅读模式

    前言: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位才行:

      

      推荐使用离线的方式,在线的不一定靠谱,毕竟是国外网站,有时候一直连不上也是常事。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 18:39 , Processed in 0.062999 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表