关于pip安装第三方库,但pycharm中却无法识别的问题;以及pycharm安装第三方库的方法解析

版权声明:本文为博主原创文章,只要注明出处,喜欢可以随意转载,希望能帮到你。 https://blog.csdn.net/weixin_41287260/article/details/83957731

问题具体描述:

  在cmd控制台 pip install xxxx 后并显示安装成功后,并且尝试用cmd 的python 中import xxxx ,没有显示异常,说明这个库是安装成功了的。(这里以安装 virtualenv 为例:)

但是在pycharm 中导库时却出现了问题,会显示该模块不存在!!!(即在一个项目文件中,import一个未安装的地三方库文件,Pycharm会显示波浪线,即表示此库未安装。)

那怎么解呢?下面就来简单分析一下。

    之前有问老师“这是怎么回事?”老师说这是pycharm这个软件的bug……然后就没有然后了。那要用这个库怎么办?于是有了这个方法:

方法一:下载第三方库(即把之前下的库作废,这里重新再下一次……)

1.点击菜单栏File,选择Settings。

2.选中当前项目,然后点击右边“+”,添加第三方库

3.(1).搜索栏,搜索所需库。(2).查看该库的当前最新版本。(3).如果有需要下载所需版本(因为有些库之间版本要相互匹配的……)(4).点击下载按钮下载

下载成功:

4.回到编辑页面,可以看到,没有异常了,表明已成功导入。

注:这个可以说是解决了“pip下载成功,pycharm识别不了的问题”,而且这也是一个完整的pycharm安装第三方库的方法。

但是如果你说你不喜欢用这种方法,就要坚持用 pip 呢?那就接着往下看:

方法二:坚持用pip的方法安装第三方库

1.这里我就新建一个项目:new_project,里面新建一个文件:new_file ;再次导库,na ,如你所见,又出现红色波浪线了,还是识别不了!!!这是怎么回事呢?之前明明已经下载好这个库了!!!带着疑惑往下看:

2.点击菜单栏File,选择Settings(和上面一样):会发现这里的依赖库,空空如也……(奇怪吗?我这前下好的virtualenv 库呢?)

3.接下里看下这个:project  interpreter(项目解释器,如果不知道解释器是啥意思,那我建议:出门左转找度娘(百度),出门右转找哥哥(谷歌))。

       这里有两个解释器(为什么下面再详解),一个是该项目目录下的,另一个是python安装目录下的(注:我的python安装路径为:G:\python-3.7.1),新建项目,好像默认是用该项目目录下的解释器的(如果哪位大佬知道可以改这个默认,请留言告诉我,谢谢),我们应该把这个改成python安装目录下的解释器。

4.改完后:一大波之前下载过的第三方库全出来了,(注意看最后一个是刚下载的库virtualenv ),OK,问题完美解决!!!

5.那为什么要这样呢?我们一起来具体分析下:这就涉及到pip install 安装路径问题
(见下文……)

pip install 安装路径问题

1.注:我的python安装路径为:G:\python-3.7.1,而“python.exe”(python解释器)文件也在该目录下

2. windows下python的pip install 安装路径为:G:\python-3.7.1\Lib\site-packages,这里面放的都是下载的第三方库。(可以看到最后面两个,就是我刚下载的库virtualenv)

3.(1).接下来看下:项目路径:G:\Workspaces\python\new_project

(2).而新建项目时,pycharm会在该项目里面新建一个解释器(现在应该知道上面为什么会有两个解释器了吧,就是这个原因!!!),该解释器路径:G:\Workspaces\python\new_project\venv\Scripts

(3.)而在 G:\Workspaces\python\new_project\venv\Lib\site-packages 路径下同样是放第三方库的!!!

4.那么问题来了,这有“两个解释器,两个第三方库”,具体是要用那个呢?

   这个是遵守“就近原则”的!

即:python安装目录解释器就用该目录下的库,项目的解释器就用项目里面的库!

5.(1)回到之前的问题:“pip成功,pycharm识别不了”,这就是因为新建项目默认解释器是用“项目的解释器”的,但是pip安装的第三方库是在python安装目录下,所以会识别不了。

     (2)在(1)的基础上我们使用方法一安装第三方库,也就是把第三方库下载到项目目录下的第三方库存放目录下(即:\venv\Lib\site-packages),所以它就可以识别了(但是其实这里下载了两个同样的第三方库了,只是存放路径不同罢了。)

      (3)之前提到的第二种方法,就是修改默认解释器为“python安装目录解释器”,这样它就可以识别pip下载的库了。(个人比较喜欢方法二,不解释……)

OK,这个问题应该算是解决了,如果有大佬发现有错了,可以留言指出,先谢过了!

猜你喜欢

转载自blog.csdn.net/weixin_41287260/article/details/83957731