由于需要用到python中的某个库,因此打开命令行窗口cmd,然后使用pip安装。安装成功后,在cmd中输入python调出python环境,import该模块并使用,可以正常使用。但是打开juypter notebook,import该模块,却显示No module xxx found。出现这种情况的原因是juypter notebook和spyder等都是安装Anaconda时安装的,它们依赖的是Anaconda所配置的库路径,而Anaconda所配置的库路径没有包含当前的python的库路径。import sys并且输出sys.path,便可以看到库路径,如下图所示,可以发现没有所安装的python的\Lib\site-packages(注:安装的外部模块都会安装到该文件夹中),因此import时不会到该路径下寻找模块,因此导致import失败。

  ①搜索相关解决方法,我尝试了一种方法是直接在sys.path这个列表中加入(append)我的python路径和python库路径,分别是:E:\Python\Python36和E:\Python\Python36\Lib\site-packages(注意:这个是我安装的python的路径,你的以你安装python的路径为准)。使用该方法后,再次输出sys.path,可以看到这两条路径被加入,而且import之前不能工作的模块,此时也可以正常使用了。但是这种解决方案没有永久性,当退出之后重新打开该文件运行时,则又会import失败,输出sys.path,发现之前加入的两条路径也不存在了。

  ②再次搜寻解决方法,另一种方法是在环境变量中添加PYTHONPATH变量,然后将上述的python路径和python库路径(E:\Python\Python36和E:\Python\Python36\Lib\site-packages)作为变量值,如下图所示。

(环境变量添加:右键"此(我的)电脑"->点击"属性"->点击左侧“高级系统设置"->点击右下角"环境变量")

  进行以上操作后,在jupyter notebook随便打开或者新建文件,import之前不能工作的模块,都可以正常使用了。输出显示sys.path可以看到,两条路径已经被加入了。而且该方法具有永久性。

环境变量后话:

  之前我对环境变量没有太多理解,后来在多次接触之后对它有了一些更深的认识,这也使得在遇到windows的某些环境依赖问题时可以更快地解决。大多数软件安装时都会将启动软件的.exe所在的bin文件夹路径添加到环境变量中,从而在启动软件时系统能从环境变量中找到该软件的.exe进行启动。

  在我前面安装python时出现了一个问题,就是虽然安装好了python,但是在cmd中输入python却显示python不是可用的命令,即无法启动python。于是根据以往的经验,我查看了环境变量,没有找到python.exe的路径,于是我把该路径添加到环境变量中。再到cmd中输入python,此时就可以正常调出python环境了。之后我又想通过pip安装某些模块时,在cmd中输入pip install xxx,显示pip不是可用的命令。其实道理类似,也是由于pip.exe的路径没有添加到环境变量中。pip.exe位于所安装的python文件夹下的Scripts中,你可以打开看看是否有pip.exe在里面,若没有,则即使添加了路径到环境变量中也无法正常工作的。将Scripts的路径添加到环境变量中后,在cmd中pip也便可以正常运行了。

  通常来说,安装python的时候会自动将对应的这两个路径添加到环境变量中的,而如果你和我一样不幸或者说安装时的一些选择没选好导致出现以上问题,那么通过添加环境变量可以很好地解决问题。

:) PS:这是我写的最快的一篇博客。

Python 在cmd中import模块成功,但是在jupyter notebook中No module xxx found的更多相关文章

  1. 机器学习:Jupyter Notebook中numpy的使用

    一.Jupyter Notebook的魔法命令 # 模块/方法 + ?或者help(模块/方法):查看模块/方法的解释文档: 1)%run # 机械学习中主要应用两个魔法命令:%run.%timeit ...

  2. [转载]Jupyter Notebook中自动补全代码

    原文地址:https://yq.aliyun.com/articles/667928 在公众号之前的文章中,已经介绍了在Jupyter Notebook中设置主题以及输出代码文件到pdf文件中,本文来 ...

  3. Jupyter notebook中的.ipynb文件转换成python的.py文件

    转自:https://blog.csdn.net/wyr_rise/article/details/82656555 Jupyter notebook中.py与.ipynb文件的import问题   ...

  4. 【动手学深度学习】Jupyter notebook中 import mxnet出错

    问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...

  5. 在jupyter notebook 中同时使用安装不同版本的python内核-从而可以进行切换

    在安装anaconda的时候,默认安装的是python3.6 但是cs231n课程作业是在py2.7环境下运行的.所以需要在jupyter notebook中安装并启用python2.7版本 方法: ...

  6. jupyter notebook中No module named 'tensorflow'

    当我们在jupyter notebook中运行时可能会遇见没有某个包的情况,如下: ---------------------------------------------------------- ...

  7. 解决在jupyter notebook中遇到的ImportError: matplotlib is required for plotting问题

    昨天学习pandas和matplotlib的过程中, 在jupyter notebook遇到ImportError: matplotlib is required for plotting错误, 以下 ...

  8. (数据科学学习手札64)在jupyter notebook中利用kepler.gl进行空间数据可视化

    一.简介 kepler.gl是由Uber开发的进行空间数据可视化的开源工具,是Uber内部进行空间数据可视化的默认工具,通过其面向Python开放的接口包keplergl,我们可以在jupyter n ...

  9. 非线性函数的最小二乘拟合及在Jupyter notebook中输入公式 [原创]

    突然有个想法,能否通过学习一阶RC电路的阶跃响应得到RC电路的结构特征——时间常数τ(即R*C).回答无疑是肯定的,但问题是怎样通过最小二乘法.正规方程,以更多的采样点数来降低信号采集噪声对τ估计值的 ...

随机推荐

  1. gitlab升级和迁移

    由于近期公司gitlab服务器老是卡顿和出现其他问题,然后也很久没有升级过了,现在版本还是8.10.5,而官网最新版本已经是11.2了.另一个原因是gitlab所在的这台服务器快到期了,想换一台配置更 ...

  2. bilibili存储型xss (绕过长度限制打乱顺序限制)

    在个人空间的我的收藏中可编辑视频收藏的名称,之后尝试写入标签. http://space.bilibili.com/ 发现输出到前端的尖括号被转义了,不过出现了一个json接口,他的Content-T ...

  3. Coursera, Big Data 3, Integration and Processing (week 5)

    Week 5, Big Data Analytics using Spark     Programing in Spark   Spark Core: Programming in Spark us ...

  4. pc端,移动端css重置样式

    pc: html{font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;-ms-text- ...

  5. django上下文处理器的基本使用

    1.定义一个方法 2.在django里面的settings.py里面修改配置文件 3.最后在模板里面调用 操做步骤如下: 这是在settings.py里面配置的文件   在模板里面调用上下文处理器

  6. 老师博客copy -高阶函数2

    新闻 管理   Py西游攻关之函数   一 函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在B ...

  7. Nginx中if语句中的判断条件

    一.if语句中的判断条件(nginx) 1.正则表达式匹配: ==:等值比较; ~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写: ~*:与指定正则表达式模式匹配时返回“真”,判 ...

  8. 让CPU占用率曲线听你指挥

    使用GetTickCount()和Sleep(): Code#include <stdio.h> #include <unistd.h> #include <time.h ...

  9. kafka知识点详解

    第一部分:kafka概述 一.定义(消息引擎系统) 一句话概括kafka的核心功能就是:高性能的消息发送与高性能的消息消费. kafka刚推出的时候是以消息引擎的身份出现的,它具有强大的消息传输效率和 ...

  10. GIt -- Window下配置 git

    全局配置  git config --global user.name "账户名"  git config --global use r.email '账户邮箱' 生成ssh,命令 ...