【原创】环境变量、命令提示符与jupyter notebook

三年前自己写给MPA学生的anaconda配置文档,有空上传上来,给更多刚开始入坑数据科学工具的同好们参考

原理部分

Jupyter Notebook的工作目录机制

事实1:Jupyter Notebook将启动命令的来源路径作为它本次的默认文件目录

如下图:

图中使用命令提示符手动启动Jupyter notebook(仅为演示,实际中很少这样做,因为麻烦,使用Anaconda的目的之一就是利用图形化操作界面,尽可能简化这种命令行模式),在C:\Users\link\anaconda3\Scripts 目录下用命令启动了Jupyter Notebook(红框第一行),那么在后续的启动信息中,可以清晰地看到,Jupyter Notebook本次将C:\Users\link\anaconda3\Scripts作为它的本地工作目录(红框第二行),这一次所有新建的文件都保存在这个目录中。

事实2:通过Anaconda启动Jupyter notebook时,命令的来源路径由Anaconda自动指定

通过Anaconda启动(包括在Navigator中点击“Launch”以及在Anaconda prompt交互框中输入“Jupyter notebook”两种方式)Jupyter Note时,Anaconda会自动给Jupyter传一个参数(可以理解为“命令信息”),让Jupter notebook将启动路径视为Anaconda配置文件中的参数c.NotebookApp.notebook_dir 的内容,通常情况下,这个内容是空白的,那么目录就默认为“我的文档”(win10下可能不再使用“我的文档”这个称呼,变成“此电脑——用户——用户名”文件夹)。

如下图:

以通过Anaconda Prompt启动为例,可以发现本次的本地工作目录均变成了”我的文档” 或者 “C:\Users\*用户名同名文件夹”(图中红框,演示用的计算机用户名为“link”,故最终路径为:“C:\Users\link”),在jupyter notebook内创建的文件也存储在相应目录下。

事实3:jupyter notebook可以在任意目录下使用

jupyter 本身作为可以识别的命令,可以通过cmd执行jupyter notebook 在任意文件夹下启动 jupyter notebook服务,且工作目录以运行该命令的文件夹为准。

如下图

通过某种方式(在后续部分会详细介绍),使得命令提示符也能在任意文件夹使用jupyter notebook,从而成功在D:\data目录下(图中蓝框)启动了jupyter notebook服务,并且确定工作目录也是当前目录。


 

此时通过jupyter notebook创建的文件就保存在D:\data目录下

Windows系统中的path环境变量

命令提示符

通常情况下,我们在windows中如果想要执行一个程序/命令/操作,就必须输入它的完整路径+名称(无论是绝对路径还是相对路径),因为文件系统中有不同的磁盘盘符、文件夹、扩展名,直接输入名称,例如:某个程序名为“program”,系统是无法判断是用户想要运行C盘下的program.exe还是D盘下的program.exe,也不知道它是不是一条命令,从而提示无法运行。

一些例外情况是,系统内置的命令,比如,“netstat”是系统内置的命令,已经处于系统已知的路径中,那么任何计算机的用户都不需要特意设置netstat代指什么,直接输入“netstat”即可运行该命令。

Path环境变量

path环境变量的作用是:当要求系统运行一个程序/命令而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序/命令外,还应到哪些目录下去寻找;将应用程序或者附加功能的路径配置到path变量之后,使用这些自行安装的程序/命令就享有与内置命令一样的便捷性了。

例如:

配置java编程环境时,除了要通过exe安装程序安装好java,还需要手动配置JAVA_HOME等环境变量;

如果不配置就在命令提示符中使用javac、java等命令编译java文件、运行class类时,系统会提示”java不是内部或外部命令,也不是可运行的程序”

同理,无论是Anaconda还是jupyter notebook,对于系统来说,它们都不是系统内置的,而是用户自行安装的,所以系统对于类似Anaconda、Python、jupyter notebook这类非系统自带的命令,都不可能自动地识别与执行,所以必须配置环境变量后才能在命令提示符中便携使用。(并非不配置就不能用,只是使用起来需要添加路径+一些手动参数,从而增加了无意义的麻烦)

综合结论

  1. 使用Jupyter notebook编写的文件保存在本地,但是具体保存的文件夹位置与jupyter notebook的启动时的路径有关
  2. Jupyter notebook不配置系统变量就只能通过Anaconda启用,或者以一种极其麻烦的方式从cmd启动
  3. 在2中的情况下,通过anaconda启用的jupyter notebook的默认路径是“我的文档”或者“C:\Users\用户名同名文件夹”;通过cmd启动的Jupyter notebook的路径很难控制,只能是jupyter notebook程序的安装路径,比“我的文档”更难找
  4. 通过配置path环境变量,可以让Jupyter notebook从cmd便携启动,且可以指定启动路径,从而使得jupyter notebook的文件保存位置自定义化。

应用操作

第一步:确认环境变量状态与待写入的anaconda路径

通过同时win(菜单键,按一下windows会弹出菜单)+R键,调出运行窗口,输入cmd后回车,打开命令提示符

在命令提示符中输入jupyter notebook后,按下回车键,观察反馈,若提示“jupyter不是内部或外部命令,也不是可运行的程序……”,则继续;如果直接运行了jupyter notebook,则说明计算机此前已经配置过path变量,可以跳过本步骤到后续第四步内容。

关闭命令提示符窗口,打开anaconda prompt

在anaconda prompt里面输入 pip --version 后按下回车,复制出现的目录地址的”\lib”前的内容,此处复制的是“C:\Users\Admin\anaconda3”(如图中红框所示,注意复制内容的开头无空格,末尾无 “\”符号 ;不同计算机得到的地址可能有差异,但一般来说,复制下来的地址的末尾都应该是”anaconda3”)

打开“此电脑”或者任意文件夹,把复制的内容粘贴到文件夹地址栏并回车,验证是否可以通过此地址访问到anaconda3的安装目录(没有提示“路径不存在”即说明成功)

第二步:将目录写入系统环境变量Path

把鼠标放在桌面的或者其他位置的“此电脑”图标上,右键打开右键菜单,选择“属性”

在出现的页面中,选择“高级系统设置”(华为笔记本的该选项位置可能与图中有轻微不同,但是也在这个页面中,请页面的右侧寻找该选项)

在弹出的窗口中点击环境变量,然后双击系统变量中的 path

在出现的页面中,点击“新建”,然后在新出现的一栏中粘贴第一步中要求复制的地址

继续点击“新建”,在新出现的一栏中,粘贴三次同样的地址,并分别在末尾加上

\scripts\

\Library\bin

\Library\mingw-w64\bin

输入完成后,依次点击所有的“确定”按钮以保存,直至回到之前的通过“右键——属性”打开的窗口

检查确认所有的“确定”都点击后,重启计算机

第三步:测试与确认

重启计算机后,通过同样的方式(win+R,然后输入cmd并运行)打开命令提示符

输入 jupyter ,此时应该不会提示“jupyter不是内部或外部命令,也不是可运行的程序……”,而是出现下图

此时说明path环境变量配置成功,以后用cmd也可以启动jupyter notebook了

第四步 :实战——指定单次jupyter notebook的代码目录

此前可以发现,通过anaconda启动的jupyter notebook时,创建的代码文件都保存在了“我的文档”或者“C:\Users\用户名同名文件夹”下(在C盘——用户文件夹很容易找到它);

但是,每次都要去这个文件夹找代码文件不是很方便;

因此,假设我们需要换一个地方存放代码文件,这里我们在D盘下创建“data visualization”文件夹,以它为例:

点击进入该文件夹,然后在地址栏输入 “cmd” 并回车以启动命令提示符,可以发现此时cmd的目录就是当前目录(见图中的红框),然后在cmd中输入 jupyter notebook 并回车,可以看到jupyter notebook正常启动,且启动后的界面就是当前D盘下的data visualization文件夹,而非“C盘下的users”文件夹。

至此,本次通过jupyter notebook新建的代码文件也会存放在“D:\data visualization”;

特别提示:每次启动jupyter notebook时都会根据启动方式决定文件夹位置,换言之,下次如果还需要存放在D:\data visualization,也需要按照本步骤的方式进行,不能一劳永逸;同样地,如果下次需要更换存放文件夹,只需要进入新的文件夹后,执行相同操作即可

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值