Python使用PyCharm时import包遇到的那些坑

背 景

  PyCharm作为Python编写的丝滑IDE环境,用起来自然丝滑无比,尤其是有个下载包的功能,非常方便,如图1,当PyCharm检测到你要使用的包不存在时,可以鼠标移上去,点击弹出来的Install package ……,就行,但是有的时候,会提示安装失败,安装失败后该怎么做呢?

在这里插入图片描述

图1 PyCharm自动安装依赖包

  图2位于PyCharm整个界面的右下方,蓝色线条,点击一下可以查看安装依赖包经度,不论安装成功失败,安装完成后都会有提示消息,图2内提示安装失败,多次尝试,都安装失败;

在这里插入图片描述

图2 PyCharm自动安装依赖包状态和结果提示

坑一:尝试pip install好,PyCharm自动引用

  于是先在shell窗口(linux下)或者cmd窗口(windows)利用pip install 包名的方式先安装好,但是pip install报错,具体如下,版本号可能不一致,但是就说你的pip版本太低,要求更新;

WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.

  这个时候可以采用以下方式来更新pip,先查看下自己的pip版本是否真的如提示所说;

C:\Users\rowyet>pip --version
pip 19.3.1 from c:\users\yanghang\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

  再利用中国(国内)的pypi镜像网站https://pypi.douban.com/simple更新pip版本,基本能成功,其他更新pip版本的方式,真的试了不少,都不行,成功更新好pip后,就可以愉快的利用pip install 包了。

C:\Users\rowyet>python -m pip install --upgrade pip -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting pip
  Downloading https://pypi.doubanio.com/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 2.2MB/s
Installing collected packages: pip
  Found existing installation: pip 19.3.1
    Uninstalling pip-19.3.1:
      Successfully uninstalled pip-19.3.1
Successfully installed pip-20.0.2

镜像站点是将网站的多个副本放置不同的服务器,这样可能提高反应速度,用户可以在访问较少或相对速度较快的服务器上取得信息。目前国内的常用镜像站网址有:
阿里云 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/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
设置方法,以清华镜像源为例:
临时使用: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xx
永久设置: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

坑二:pip install好了包,为啥PyCharm识别不了

  我明明在在shell窗口(linux下)或者cmd窗口(windows)利用pip install 包名的方式安装成功了,而且我硬写好代码,在本地采用以下

python my_python_file

也能执行,为啥我的PyCharm就是识别不了呢?

解决方法一

  废弃掉原来依赖的包,重新下载,做法:点击菜单栏的File选择Setting,在图3,上选择Project:你的项目名下的Project Interpreter,图3蓝色区域内就是你的目前有的依赖包,我们发现,确实没有需要的BeautifulSoup,这时我们点击+号,跳转到图4;
在这里插入图片描述

图3 Project Interpreter使用

  图4的黄色框内是目前有名气的Python依赖包枚举,太多了,可以再搜索框上输入名字检索,然后选择你要的包后右边红色框内会出现描述,同时必要的情况下你还可以选择包的版本,选择好以后然后点击Install Package安装包,基本能安装成功,除非你没网,安装成功后会跳转图5界面,提示你安装成功,然后图3的界面蓝色框内也会新增刚刚你安装的包,再回到你的python程序,你会发现报错也消失了,而且这也是一个完整的pycharm安装第三方库的方法,最准确的做法。
  同理当你明确不需要再用一个包的时候,你只需要选中包,点一下图3的-号,就会自动uninstall该依赖包,成功uninstall后也会有提示。

在这里插入图片描述

图4 Avaliable Package使用

在这里插入图片描述

图5 Install Package安装成功

解决方法二

  要真正的解决pip install好了包,PyCharm识别不了的问题,那我们要先了解一些常识;

  • pip install ……的包在哪?
    答案: 所有pip install的包都在你的python.exe文件(即python安装的目录)同级别目录下的Lib\site-packages\下,文件夹分布如下所示;
python/   # python安装目录
  ├ python.exe    # python应用启动程序
  ├ Lib/             # log文件夹,存放操作日志
  │   ├ site-packages/
  │             ├ 所有的依赖包
  │   ├ 其他文件及文件夹
  ├ 其他文件及文件夹     
 

所以当你使用pip的同时,你需要注意你的pip版本,包装在什么地方,如下在windows cmd 窗口输入pip --version,得到我的依赖包最终会写入d:\dev\anaconda3\lib\site-packages,同时根据刚刚说的文件夹分布规则,那我断定 d:\dev\anaconda3\python.exe也是有的。

C:\Users\ruoyin>pip --version
pip 20.1.1 from d:\dev\anaconda3\lib\site-packages\pip (python 3.7)

  也可以使用以下方式得到site-packages的位置,进入python的黑框环境,输入以下函数返回得到;

[ruoyin@shucang-10 ~]$ python
Python 3.7.4 (default, Aug 13 2019, 20:35:49)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils.sysconfig import get_python_lib
>>> print(get_python_lib())
/data/tools/anaconda/anaconda3/lib/python3.7/site-packages
>>> exit()
[ruoyin@shucang-10 ~]$

  知道以上消息,那就好办了,不是说pip install BeautifulSoup在windows的cmd窗口成功安装了吗?那只要去文件夹下d:\dev\anaconda3\lib\site-packages验证下,发现如图6,果然是存在的;
在这里插入图片描述

图6 pip install 依赖包成功的依据

  我们先把BeautifulSoup点击-uninstall掉,程序又报错了。

  点击菜单栏的File选择Setting,如图6,上选择Project:你的项目名下的Project Interpreter,图6蓝色区域内就是你的目前有的依赖包,我们发现,确实没有需要的BeautifulSoup,这是你点击图6Add(此处本来应该是是个设置的齿轮标识,点一下就成了图中的样子),跳转图7;
在这里插入图片描述

图6 Project Interpreter引用cmd上install的包

  图7其实就是建立PyCharm的虚拟机的一个过程,如果不用PyCharm以及生产上的程序,基本都是部署在Python虚拟机上跑的,关于python虚拟机的运用,可以参考博客python虚拟机;

  • Base interpreter:你可以理解为虚拟机的解析器,为什么明明pip成功了却在PyCharm里面识别不了,这个就是主要原因之一,可能这个值不等于你刚刚pip安装包同一文件夹的python.exe导致的,这里你需要更换成你刚刚pip安装包同一文件夹的python.exe
  • Location: 基本只要在你的Python的Project目录下新增一个venv文件夹就行,如D:\workspace\untitled2\venv,作用是选一个虚拟机的工作目录。
  • Inherit global site-packages:理解中文意思就很好理解,问你是否要继承site-packages文件夹下的依赖包,site-packages``是啥应该没忘记吧?没错就是pip install `安装的相关的包,所以这个选项要勾上;
  • Make available to all projects: 如果你希望你所有的项目都新增一个虚拟机环境,且都引用这个解析器,你可以勾上,一般不勾;
    注意:如果你上面某个步骤错了,导致还是没有解决这个问题,这时候你不用急着删除项目,重新建一遍什么的,你只需要在刚刚 Location值改一下,如D:\workspace\untitled2\venv2,这样代表你创建了一个新的python虚拟机,是不是然后再把相应的选项按照需求理解的勾选好,就行了,是不是非常的人性化,赞不赞?虚拟机的个数原则上不限制,只要文件夹不重复就行。

在这里插入图片描述

图7 设置Python的虚拟环境

  勾选完以后点击OK,然后跳回图8,会把你在windows cmd
窗口上pip install ……的依赖包全部加载过来,加载完了以后你查看下会发现刚刚的BeautifulSoup也在里面,然后程序也不报错了,完美解决。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭⌒若隐_RowYet——大数据

谢谢小哥哥,小姐姐的巨款

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值