这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题

前情提要不重要

最近还是在看聚类方面的论文,用MATLAB做完FCM的实验之后,考虑到自己一直在学Python,总觉得应该悄咪咪地实现一下这个让我既爱又恨的算法嘻嘻。之后查资料时看到各位大佬疯狂安利Ipython notebook(也就是本文介绍的jupyter notebook),什么机器学习必备,什么界面友好,功能强大,我这个求(ai)知(mu)若(xu)渴(rong)的人自然是不会放过,由此,毅然踏上踩坑的不归路。


我不是背景,我只是度娘的搬运工

Ipython

IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。
IPython 是基于BSD 开源的。
IPython 为交互式计算提供了一个丰富的架构,包含:

  1. 强大的交互式 shell
  2. Jupyter 内核
  3. 交互式的数据可视化工具
  4. 灵活、可嵌入的解释器
  5. 易于使用,高性能的并行计算工具

Ipython Notebook

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等


我是问题,也是重点,坐等被安排

看完上面专业严肃的背景介绍,大家心里应该稍微明了,这其中可能出现的问题无非就是ipython和jupyter notebook这两部分了呵呵呵。

  • 关于Ipython
    (1)在Ipython的安装过程中其实并没有出现什么大问题,cmd中输入一个命令:
    pip install ipython轻松解决,甚至也没出现别人讲的由于ipython的i没有大写导致安装不成功的问题。(Lucky girl~)
    (2)不过有一点小建议:
    安装Ipython时,尽量将cmd的目录先切换到pip.exe所在的目录下,如:
    这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第1张图片
    这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第2张图片
  • 关于Jupyter Notebook
    (1)原理上安装jupyter notebook与ipython并无差别,问题不大,可是我在安装时就偏偏报错:
    DistutilsError: Setup script exited with error: Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat).

    Command “python setup.py egg_info” failed with error code 1 in C:\Users\zhuzhuzhu\AppData\Local\Temp\pip-build-wm0esipm\pywinpty..
    立刻求助度娘,得到的结果是下载Microsoft Visual C++ 14.0就可以解决。有那么点反人类啊…之后甚至我还跑去py官网下载了pywinpty,最终还是一无所获。
    疯狂搜索之后,终于在芸芸众博中找到了这篇,一行代码拯救我。(也不尽完美,其实直接按问题二的解法一顿操作就可以解决这个问题,亲测和下载Microsoft Visual C++ 14.0没什么关系)

正解如下:使用pip install –upgrade setuptools更新setuptools

同样注意安装jupyter notebook时也在pip.exe所在路径下安装,如:
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第3张图片
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第4张图片

Jupyter Notebook安装完成后,我们在cmd中直接输入 jupyter notebook 进行检测,cmd窗口反馈以及网页跳转见下图:
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第5张图片
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第6张图片
以上说明安装成功,且上图显示的目录就是你pip.exe存在的那个目录:
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第7张图片
之后进行jupyter notebook 的配置:

jupyter notebook –generate-config
首先通过此行代码得到配置文件的位置:
这里写图片描述
修改配置文件:(注意看下图绿色光标那行)
原文件截图:
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第8张图片
修改后截图:
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第9张图片
注意改完存储位置之后,一定要去掉本行的注释符号!!

如此一来,就路径改成了自己的工作目录,以后写的代码都会存储到这里了~
再次在cmd中输入命令:jupyter notebook,注意看第三行那里与之前的区别。
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第10张图片
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第11张图片

之后就可以通过右上角的new来新建你的内容了~


Jupyter Notebook中py2与py3的内核共存问题

别拦我,我一定要说,这绝逼是共存里的神坑!!照着各种教程傻瓜式操作,最终漏洞百出,报错不断,深夜突然解决的我按捺不住激动的心情,一定要把这篇博客补完!!

原本以为参考这篇博客按照以下步骤就能轻松解决问题:
https://blog.csdn.net/mighty13/article/details/77972353
安装python2内核:
ipython kernel install –name python2
安装python3内核:
ipython kernel install –name python3
事实上我电脑上也确实成功出现了2和3两个版本的python。
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第12张图片
但是!!!当我用print “hello world” 与 print(“hello world”)进行测试时,惊奇的发现,不管是py2还是py3,以上两种形式均不报错,而这就非常奇怪了,很明显与常理不符。于是,我查看了python3内核文件,当当当当….惊天大秘密!!路径那里竟然是python2的安装路径,难怪测试不报错。
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第13张图片
我迅速将路径改为python3的路径,再次打开jupyter notebook结果报错:The kernel has died, and the automatic restart has failed.各种搜索无果。最终放弃这条路……

方法2–殊途同归
恰好我电脑上之前装了Anaconda2,因此我以python2为主体环境,来配置一个python3为副本的环境。首先要拥有Anaconda2和Anaconda3两个安装包,官网上下载非常慢,推荐用清华开源镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
默认已安装好Anaconda2,在安装Anaconda3时,安装路径应如图设置在Anaconda2路径下的envs文件夹里,且下一步操作不要勾选环境变量,防止副环境与主环境发生冲突~
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第14张图片
安装成功之后,在命令行中输入:

activate py3

这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第15张图片
副环境(python3)运行成功,如果想要进入python2环境,则直接在一开始的命令行里输入python即可:
这里写图片描述

确保这部分没有问题之后,在命令行中输入jupyter notebook,看自己缺哪个内核,之后在你所缺的py路径内使用命令:python -m ipykernel install –user安装内核。
这么过分,一定要写篇博客(2) —— 关于jupyter notebook的安装配置以及Py2与Py3内核共存的系列问题_第16张图片


稳妥!大功告成!开心心!


今日份总结

往往这种看起来没什么难度的问题才是最难解决的,因为很可能就因为某个操作,你和别人的遇到的问题就相去甚远,难以参考,这种时候则更应该不断尝试,积极面对,某种程度上而言,根据手头已有的资料自行解决问题实则也是提高能力必不可少的环节,那么,不要怕麻烦呦~

你可能感兴趣的:(python)