解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
一、问题具体描述:
在cmd控制台 pip install xxxx 后并显示安装成功后,并且尝试用cmd 的python 中import xxxx ,没有显示异常,说明这个库是安装成功了的。(这里以安装 virtualenv 为例:)
但是在PyCharm中导库时却出现了问题,会显示该模块不存在!!!(即在一个项目文件中,import一个未安装的第三方库文件,PyCharm会显示波浪线,即表示此库未安装。)
那怎么解呢?下面就来简单分析一下。
之前有问老师这个问题,老师说这是PyCharm这个软件的bug……然后就没有然后了。那要用这个库怎么办?于是我就自个去琢磨了一下:
二、解决方法
1、方法一:在PyCharm下载第三方库(即把之前下的库作废,这里重新再下一次……)
1.点击菜单栏File,选择Settings。
2.选中当前项目,然后点击右边“+”,添加第三方库
3.(1).搜索栏,搜索所需库。(2).查看该库的当前最新版本。(3).如果有需要下载所需版本(因为有些库之间版本要相互匹配的,这里不深究,遇到你就会懂……)(4).点击下载按钮下载
下载成功:
4.回到编辑页面,可以看到,没有错误了,表明已成功导入。
注:这个可以说是解决了“pip下载成功,pycharm识别不了的问题”,而且这也是一个完整的pycharm安装第三方库的方法。
但是如果你说你不喜欢用这种方法,就要坚持用 pip 呢?那就接着往下看:
2、方法二:坚持用pip的方法安装第三方库
1.这里我就新建一个项目:new_project,里面新建一个文件:new_file ;再次导库,如你所见,又出现红色波浪线了,还是识别不了!!!这是怎么回事呢?在上面的方法一中不是已经下载好这个库了吗?!带着疑惑往下看:
2.点击菜单栏File,选择Settings(和上面一样):会发现这里的依赖库,空空如也……(奇怪吗?我这前下好的virtualenv 库呢?)
3.接下里看下这个:project interpreter(项目解释器,学python还是要了解一下这个东东的!如果不知道解释器是啥意思,那我建议:出门左转找度娘(百度),出门右转找哥哥(谷歌))。
这里有两个解释器(为什么下面再详解),一个是该项目目录下的,另一个是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,这里面放的都是下载的第三方库。(可以看到最后面两个,就是我之前用cmd下载的库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下载的库了。(个人比较喜欢方法二,不解释……)
总结
下一篇:PyCharm 无法 import pandas 程序卡住的解决方式