pycharm下载依赖一直失败的问题踩坑指南

 更新时间:2023年06月14日 11:25:49   作者:Anty_Ria  
在使用pycharm学习python的时候,经常需要第三方库,没有第三方库程序就会报错,下面这篇文章主要给大家介绍了关于pycharm下载依赖一直失败的问题踩坑指南,需要的朋友可以参考下

前言

pycharm下载依赖失败这个问题对于我来说已经是个老生常谈的问题,与之共交手三次。

首次交锋是在大二利用 树莓派 做图像采集传输时,在树莓派的ubantu上使用python,首次接触python,环境配的痛苦不堪,也没有学到什么,整体不太成功。

第二次与之会面是在 vmware的 centos7虚拟机 中,同样需要在pycharm中配置一些python常用的库,但同样因为时间紧,对linux系统不够熟悉,最终拆东墙补西墙,勉强配置出来,但同样没有本质的收获。

终于,随着考研结束,我开始考虑毕设的问题,由于涉及 yolov5做深度学习,我不得不再次面对这个问题。但!!事不过三,这一次我开展了详细的研究,终于了解到了pycharm下载失败的本质,并找到了相对万能的解决方法。

问题复现

通常情况下,使用pycharm的我们随手百度 “如何下载依赖”,大多数攻略都会告诉我们使用pycharm的内置下载:先更换国内的镜像仓库,然后搜索下载。

就像这张图。

但结果总不尽如人意,一些比较简单的依赖或许会下载成功,但大多数下载都会面临这样的情况。(这张图是别人的,因为我是配置完成后写的博文)

这个失败让人摸不着头脑,你或许会跟着报错栏的建议,使用相应的命令继续尝试,但成功率却很随机,有些时候可以成功,有些时候会带领你走向一个新的坑,产生更多的问题。(亲身体会

问题本质

在拜读了无数篇 大佬(对我有所帮助)和瘪三(指文章胡言乱语偷窃他人成功的作者)的文章后,我终于有所启发,发现了一条至关重要的法则。

python中,各个依赖之间的版本对应关系十分重要,而pycharm通常情况下都会为你选择最新版本的依赖

可能有点难理解,我们从两方面考虑,

第一点就是你实际业务所需要的依赖对版本的要求;第二点就是各个依赖之间的版本要求。

举个例子:

你的python是3.11,你需要下载三个依赖:A,B,C

pythonA (最新版本2.1.0)B(最新版本0.15.1)C(最新版本2.3.0)
此时业务所需的正确依赖关系3.1~3.9小于等于2.0.0小于等于0.14.4无要求
可能的错误配置13.112.0.00.14.42.3.0
可能的错误配置23.82.1.00.15.12.3.0
正确配置3.82.0.00.14.42.3.0

如上所示,有时候选择最新版本其实并不一定是件好事,但是,仅仅把所有版本都控制在 业务所需的合法范围 就万事大吉了?

当然不是,因为有些 依赖之间 还有版本要求,接着上面的例子,此时你需要下载一个新的依赖 D,要求关系如下表,那么在这个时候刚刚正确的配置现在还正确吗?

显然出问题了,刚刚合法的A和B因为D的限制,不得不改动版本。并且由于A的限制,python的版本也受到了制约。

pythonA (最新版本2.1.0)B(最新版本0.15.1)C(最新版本2.3.0)D(最新版本1.15.0)
此时业务所需的正确依赖关系3.1~3.9小于等于2.0.0小于等于0.14.4无要求无要求
依赖间的版本要求无要求要求python必须小于3.7无要求无要求需要A的版本小于等于1.9.0B的版本小于等于0.13.0
刚刚的正确配置3.8 2.0.00.14.42.3.0-

因此,此时此刻,正确的版本应该是:

pythonA (最新版本2.1.0)B(最新版本0.15.1)C(最新版本2.3.0)D(最新版本1.15.0)
刚刚的正确配置3.71.9.00.13.02.3.01.15.0

好了,到这里,原理就很清楚了,pycharm能够下载成功的情况就是依赖关系简单或者正好符合所有要求。

下载失败要么就是缺依赖(就像你腿还没长出来,我就要你跑步),要么就是版本冲突。

解决方案

说到这里,反应再慢的人也应该知道该怎么做了,去依赖的官网,或者去百度“XX与XX之间的版本关系”,查到正确的版本,然后下载。

安装提供两种思路:

①.命令行直接下载,简单快捷【极大多数依赖都可以解决】

pip install XXX(你要下载的依赖名称)==x.x.x(你需要的版本号) -i .......(你所使用的国内镜像仓库)

举例:

pip install torch==1.10.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

②.从仓库里下载whl文件,本地安装

如果你真的运气很差,网络巨慢,换了很多国内仓库依然要下几个小时,那么可以考虑这个方法,去任意一个国内仓库里直接找到你要的资源。

举例:去清华镜像站寻找 torch.

https://pypi.tuna.tsinghua.edu.cn/simple

然后根据你的操作系统,版本,需求找到你需要的来下载。

这种方式之所以下载速度更快是因为可以使用第三方工具抓取下载,对比一下下载速度(例如 IDM ,不懂的自行百度)

然后打开cmd,进入你刚刚下载好的文件的目录

开始安装即可

pip install torch-1.11.0-cp310-cp310-win_amd64.whl

补充总结

检查是否安装成功

pip list

下载的依赖存在哪

储存在你python的安装目录,如图

前面可能不同,主要找 Lib和site-packages

总结

通过本次探索,终于从本质上解决了这个问题并起到了举一反三的作用,特此记录。

到此这篇关于pycharm下载依赖一直失败的问题踩坑的文章就介绍到这了,更多相关pycharm下载依赖一直失败内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python之matplotlib学习绘制动态更新图实例代码

    python之matplotlib学习绘制动态更新图实例代码

    这篇文章主要介绍了python之matplotlib学习绘制动态更新图实例代码,文中涉及具体实现代码,演示效果及运行时出现的问题分析等相关内容,小编觉得还是挺不错的,这里分享给大家,需要的朋友可以参考下
    2018-01-01
  • 在Django的模型和公用函数中使用惰性翻译对象

    在Django的模型和公用函数中使用惰性翻译对象

    这篇文章主要介绍了在Django的模型和公用函数中使用惰性翻译对象,Django是丰富多彩的Python框架中人气最高的一个,需要的朋友可以参考下
    2015-07-07
  • jupyter notebook 自定义python解释器的过程详解

    jupyter notebook 自定义python解释器的过程详解

    大家都知道jupyter notebook 网页版交互环境,类似于ipython,功能强大,这篇文章主要介绍了jupyter notebook 自定义python解释器的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • 一篇文章看懂python如何执行cmd命令

    一篇文章看懂python如何执行cmd命令

    这篇文章主要给大家介绍了关于如何通过一篇文章看懂python如何执行cmd命令的相关资料,在Python中可以使用多种方法执行cmd命令,文中通过代码示例将每种方法都介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • 深入了解Python中反射和动态属性的无限可能

    深入了解Python中反射和动态属性的无限可能

    理解 Python 中的反射和动态属性是编写灵活和强大程序的关键,在这篇文章中,小编将带领大家一起反射和动态属性的概念,并提供大量示例代码,希望对大家有所帮助
    2023-11-11
  • python unix时间戳转换毫秒的实现

    python unix时间戳转换毫秒的实现

    Unix时间戳是一种常见的时间表示方式,本文主要介绍了python unix时间戳转换毫秒的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Python入门_浅谈for循环、while循环

    Python入门_浅谈for循环、while循环

    下面小编就为大家带来一篇Python入门_浅谈for循环、while循环。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 解决Python 中英文混输格式对齐的问题

    解决Python 中英文混输格式对齐的问题

    今天小编就为大家分享一篇解决Python 中英文混输格式对齐的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python图形界面tkinter的使用技巧

    python图形界面tkinter的使用技巧

    这篇文章主要介绍了python图形界面tkinter的使用技巧,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Python编辑和运行的四种方式

    Python编辑和运行的四种方式

    本篇内容主要是讲python在电脑上编辑和运行的几种不同方式,后面主要是在pycharm中去写代码,然后运行,其实还有其他的方式可以在电脑上写python代码和运行python代码,需要的朋友可以参考下
    2024-08-08

最新评论