在 jupyter 中安装 Python 第三方软件包
经常使用 Jupyter 的用户常常着迷于其友好的历史命令记录功能,这样能够非常方便的查看和分享我们在编写和运行代码时都是使用了什么命令,能够很好的用于回顾、排查和分享程序等,如执行该项目安装的软件以及方法等。本篇介绍如何在 jupyter 中安装 Python 第三方软件。
借助 IPython 魔法命令
IPython 是一种基于 Python 交互式解释器,提供了更为强大的编辑和交互功能。在 IPython 中最为重要的就是其提供的魔法命令,Jupyter 使用 IPython 作为其 Python 内核,同样能够使用 IPython 的魔法命令。在 IPython 中有两个 line 魔法命令(以一个 % 开头):%pip
和 %conda
。
1 | # 安装到当前 jupyter notebook 使用的运行环境 |
更多 IPython 的魔法命令请查看:ipython 中的魔法命令
借助 Jupyter 的 ! 修饰符
Jupyter 中提供了 ! 修饰符,能够非常方便的调用 linux shell 命令。但是,该命令是主环境的命令,而不是当前 jupyter notebook 使用的运行环境。一般情况下,我们使用 ipykernel 能够为我们使用的 python 环境创建 jupyter notebook 运行环境:
1 | # 创建新的 Python 环境 |
如果在 Python 环境 blip2 里安装第三方软件,那么我们除了使用上面介绍的 IPython 魔法命令 %pip
和 %conda
外,还可以使用 Jupyter 修饰符 ! 来完成:
1 | import sys |
借助 % 和 !完善环境变量
一般地,Jupyter Notebook 中的环境设置是基础的默认的,即使是使用特定的内核,使用 !command 的形式运行时仍然不能使用该内核完善的环境变量信息。使用起来命令也比较繁琐(如第2节所示命令)。这里尝试直接完善运行的环境变量来达到约简命令的形式:
1 | import os, sys |
然后再运行命令时,只需要这样:
1 | # 类似于已经命令行执行 conda activate env-name 后,在命令行直接执行该命令 |
IPython 魔法命令和 Jupyter !修饰符的区别
两者的区别如下:
- % 开头的魔法命令是 Ipython 提供的,而 ! 是 Jupyter 提供的;
- % 开头的魔法命令有限,可使用 %lsmagic 查看,! 修饰符开头的可以使用所有 linux shell 命令;
- % 开头的魔法命令能够对当前 jupyter notebook 的下面命令产生影响,而 ! 修饰符开头的命令是一次性的,运行时启动一个新进程,结束后不对当前 jupyter notebook 后面的命令产生任何影响
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
评论