最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事。

随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能。但是,他(她)们遇到了一个非常烦恼的问题

自己用pip已经下载好的第三方包,import总是报错,显示没有该moudle.

pip显示scipy模块已安装好

但在pycharm里,我们import导入时,编辑器却报错,告诉我们没有这个module!

这是为什么呢?

原来,python在import导入第三包时,会默认搜索系统模块下的sys.path路径。而sys.path是个列表对象,我们可通过简单的打印语句显示查看我们的import导入路径。

而pip下载后的第三方包都统一放在lib下的site-packages文件夹下。

与我们打印出的import路径对比,不难发现,我们的import路径中并没有sit-packages的路径位置。所以,即使我们用pip下载好第三方包在本地,import的搜索路径中没有这个位置,编辑器当然就会报错。

找到问题的发生原因后,我们便可以开始解决问题了。思路就是:将第三方包的路径添加到import的默认搜索路径中。而sys.path又是个列表对象,我们通过append( )方法就可实现我们的需求,到此问题便可迎刃而解!
为使大家能够清晰地认识,这里用了print语句输出了之前的路径,大家实际操作中大可不必如此。了解原理即可。即使算上print语句,我们的有效代码也只有7行!
代码如下所示:

从输出结果中我们可以看到第三方包site-packages的路径已成功加入import的搜索路径。

但是当重启编辑器时,会发现添加的路径已消失。可见append方法只能对当前有效,退出后便会失效!

那么,我们怎么永久添加到sys.path路径下? 我们可以通过新建.pth文件来实现。

在前面程序输出的结果中我们可以看到,D盘中我们也有一个site-packages的路径。这是因为,为避免文件杂乱,将pycharm的项目没有建在pyhton默认目录,而是更改到了D盘的“python演练场”。

我们找到D盘--python演练场--venv---lib---site-packages文件夹,并在其中新建文本文档。

在新建的文本中,写入我们“pip下载到的第三方文件库site-packages的”路径位置。

将文本保存后,我们将文件改为“mypath.pth"。注意:最后,一定要将txt格式的改为pth,否则python无法识别。

之后,我们便可以”一劳永逸“地import引入pip下载的第三方包了,当然重要的是,这种方法还可以引入你自己根据你的需求写的实用python脚本了。我们引入scipy第三包,可以明显地看到,编辑器已为我们自动补全了。

这里用的是python3.6和pycharm3.x。

7行代码,彻底告别python第三方包import导入问题!的更多相关文章

  1. Python 第三方包上传至 PyPI 服务器

    PyPI 服务器主要功能是?PyPI 服务器怎么搭建? PyPI 服务器可以用来管理自己开发的 Python 第三包. Pypi服务器搭建 Python 第三方包在本地打包 # 本地目录执行以下命令应 ...

  2. Python第三方包之PrettyTable

    Python第三方包之PrettyTable 可以让我们将数据用表格的方式展示出来 安装方式 pip install PrettyTable 测试是否安装成功 使用方法与对比 增加一条数据 先简单的看 ...

  3. python第三方包的windows安装文件exe格式

    今天弄了一上午的python-ldap,发现要么安装vc,要么用其他比较麻烦的方法,都比较麻烦.幸好找到这个地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...

  4. Python第三方包之DingDingBot

    Python第三方包之DingDingBot 这个是作者自己封装的一个钉钉机器人的包,目前只支持发文本格式.链接格式.markdown格式的消息,我们可以在很多场景用到这个,比如告警通知等 安装 pi ...

  5. Python第三方包之离线安装

    Python第三方包之离线安装 第一步 首先我们得从pypi上先下载要装的第三方包 https://pypi.org/ 第二步(因为下载下来的包可能需要其他包的依赖,那我们依旧要按照第一步再次下载) ...

  6. Python第三方包之pretty-errors

    Python第三方包之pretty-errors 发现了一个第三方好用的python包,这个包可以让我们在面对冗长的错误时候能够一眼看到重点 安装方式 pip install pretty-error ...

  7. 内网安装python第三方包

    内网快速安装python第三方包 内网安装包是一个很麻烦的问题,很多时候,内网的源会出现问题,导致无法安装. 这里给出一种快速在内网中安装第三方包,无需使用内网的源. 外网操作 1.根据开发环境下的所 ...

  8. python第三方包安装方法(两种方法)

    具体有以下两种方法: 第一种方法(不使用pip或者easy_install): Step1:在网上找到的需要的包,下载下来.eg. rsa-3.1.4.tar.gz Step2:解压缩该文件. Ste ...

  9. 安装python第三方包

    20190822 先说一下,有4种方法(我知道的): 1.源码安装 2.python自带包管理器安装 3.外部包管理器安装 4.whl格式安装 1.源码安装 Python第三方库几乎都可以在githu ...

随机推荐

  1. python-day8socket、粘包、并发、多用户ftp

    @以字符串名称形式引入外部模块:同级文件lib里面有个函数a打印66 1.解释器内部使用 m=__import__('lib')print(m.a()) 结果: 66 None 官方推荐用户使用 im ...

  2. SQL Server 2000 字段类型 Delphi 数据类型对照

  3. video.js使用

    //引入video.js html <video id="my-player" className="video-js my-player-wrap vjs-big ...

  4. Navicat Premium 12激活教程

    Navicat Premium 12激活教程 1.软件包的下载 百度云地址链接: 注册机:https://pan.baidu.com/s/1KzmCbVYcVoXt_t4osXk3Kw  提取码: q ...

  5. BASH_SOURCE

    在C/C++中,__FUNCTION__常量记录当前函数的名称.有时候,在日志输出的时候包含这些信息是非常有用的.而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非 ...

  6. yarn安装及node升级

    ERROR: root@debian:/home/test/keygen-radio-master/scripts# npm install -g yarn npm WARN engine yarn@ ...

  7. win10x64启动vs2010报错:未能加载C:\Windows\Microsoft.NET\Framework\v2.0.50727\microsoft.vsa.tlb

    换了新电脑,因为是win10x64系统,可能是兼容性的问题吧. 启动vs2010,在启动画面直接报错:未能加载C:\Windows\Microsoft.NET\Framework\v2.0.50727 ...

  8. 移动端响应式布局--你不知道的CSS3.0媒体查询,解决rem部分情况下无法适配的场景

    媒体查询作为响应式布局的方法之一,实际项目中用途也很广.但是你真的知道怎么用吗? 例如,下面匹配 iphone6/7/8 屏幕 @media screen and (max-width: 375px) ...

  9. Mongodb数据库学习

    数据库 MongoDB (芒果数据库) 数据存储阶段 文件管理阶段 (.txt .doc .xls)优点 : 数据可以长期保存 可以存储大量的数据 使用简单 缺点 : 数据一致性差 数据查找修改不方便 ...

  10. python windows环境响铃

    import winsound winsound.Beep(600,1000) #其中600表示声音大小,1000表示发生时长,1000为1秒