跳转到主要内容

session_info 输出当前会话、Python 和操作系统加载的模块的版本信息。

项目描述

session_info

session_info 输出当前会话、Python、操作系统和CPU加载的模块的版本信息。它设计为一种最小措施,以增加可重复性,并提供类似于 R 中的 sessionInfodevtools::session_info 的信息。

动机

session_info 在进行 Jupyter 笔记本中的探索性数据分析时特别有用。在导入模块后列出所有加载模块的版本号是一种确保最小可重复性的简单方法,同时需要很少的额外努力。这种方法在重新访问笔记本以及与同事分享时都很有用。 session_info 意在补充更健壮的做法,如冻结虚拟环境、容器和 binder。

安装

session_info 可以通过 pip install session_info 安装。由于它从模块的版本字符串中获取版本号,因此它不依赖于包管理器来查找版本号。它的唯一依赖项是 stdlib_list,用于区分标准库和第三方模块。

使用

session_info 可以像这样从脚本中使用

import math

import natsort
import pandas
import session_info


session_info.show()

输出

Session information:
-----
natsort             7.1.1
pandas              1.2.2
session_info        1.0.0
-----
IPython             7.23.0
jupyter_client      6.1.12
jupyter_core        4.7.1
-----
Python 3.9.2 | packaged by conda-forge | (default, Feb 21 2021, 05:02:46) [GCC 9.3.0]
Linux-5.11.13-arch1-1-x86_64-with-glibc2.33
-----
Session information updated at 2021-05-06 09:59

默认行为是仅输出不在标准库中的模块,这就是为什么上面的 math 模块被省略了(可以通过指定 std_lib=True 来包含它)。要包括不仅显式导入的模块,还包括它们内部导入的任何依赖项,请指定 dependencies=True

当从 Jupyter Notebook 调用 session_info 时,输出被隐藏在 <details> 标签中,并且只有当点击时才会显示。由于这节省了视觉空间,因此默认情况下将包括所有作为依赖项间接导入的模块,看起来像这样

点击查看会话信息
-----
natsort             7.1.1
pandas              1.2.2
session_info        1.0.0
-----
点击查看作为依赖项导入的模块
backcall            0.2.0
cython_runtime      NA
dateutil            2.8.1
decorator           5.0.7
ipykernel           5.5.3
ipython_genutils    0.2.0
jedi                0.18.0
numpy               1.20.2
parso               0.8.2
pexpect             4.8.0
pickleshare         0.7.5
prompt_toolkit      3.0.18
ptyprocess          0.7.0
pygments            2.8.1
pytz                2021.1
six                 1.15.0
storemagic          NA
tornado             6.1
traitlets           5.0.5
wcwidth             0.2.5
zmq                 22.0.3
-----
IPython             7.23.0
jupyter_client      6.1.12
jupyter_core        4.7.1
-----
Python 3.9.2 | packaged by conda-forge | (default, Feb 21 2021, 05:02:46) [GCC 9.3.0]
Linux-5.11.13-arch1-1-x86_64-with-glibc2.33
-----
Session information updated at 2021-05-06 09:59

如果您希望在不使用 HTML 标签的情况下显示会话信息,您可以在笔记本中使用 session_info.show(html=False) 来获取与上面第一个例子相同的输出。

session_info 还可以将模块依赖写入 requirements.txt 文件,该文件与 pip install -r /path/to/requirements.txt 兼容。

查看文档字符串以获取完整的参数信息.

背景

session_info 是从对 py_session 的微小修改开始的,随着它的发展,创建一个新包变得方便。 session_info 是在 stackoverflow 答案和现有类似包的帮助下构建的,包括

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源代码分发

session_info-1.0.0.tar.gz (24.3 kB 查看哈希值)

上传时间 源代码

支持