用于识别Python脚本运行的环境的工具。
项目描述
环境工具
用于识别您的Python脚本运行的环境的工具。
这包括确定您是否在Jupyter Notebook
中,在SLURM
集群的节点中,您所使用系统的架构以及操作系统。
安装
从PyPi
安装environments_utils
pip install environments_utils
示例
使用Python在macOS上检测Rosetta
Rosetta是一个转换环境,允许您在苹果硅上运行包含x86_64指令的应用程序。在某些情况下,Rosetta可能无法成功转换应用程序,导致崩溃或其他意外行为。因此,有时了解脚本是否在带有Rosetta的macOS上运行,以便更好地了解您可能遇到的奇怪行为是否由于Rosetta引起,是有用的。
要检测Rosetta,只需运行
from environments_utils import is_macos_rosetta
if is_macos_rosetta():
print("I am running inside Rosetta!")
is_tmux
返回一个表示脚本是否在类似TMUX的终端中运行的布尔值。
from environments_utils import is_tmux
if not is_tmux():
print("This script is long-running; consider starting it within a TMUX-like terminal.")
is_notebook
返回一个表示脚本是否在Jupyter笔记本中运行的布尔值。
from environments_utils import is_notebook
from tqdm import tqdm_notebook, tqdm as tqdm_cli
tqdm = tqdm_notebook if is_notebook() else tqdm_cli
is_slurm_node
返回您是否在SLURM
集群节点中。
from environments_utils import (
is_slurm_node,
get_slurm_node_id,
get_number_of_available_slurm_nodes
)
if is_slurm_node():
print("YAY! I'm in node {} of {}!".format(get_slurm_node_id(), get_number_of_available_slurm_nodes()))
操作系统标识符
用于识别应用程序运行的操作系统。
from environments_utils import is_macos, is_windows, is_linux, is_macos_with_arm
if is_macos():
print("The OS is macOS")
if is_windows():
print("The OS is Windows")
if is_linux():
print("The OS is Linux")
if is_macos_with_arm():
print("The machine is macOS with ARM processors like M1")
架构标识符
用于识别应用程序运行的架构。
from environments_utils import is_x86, is_x86_64, is_arm
if is_x86():
print("This is a 32-bit system with x86 architecture.")
if is_x86_64():
print("This is a 64-bit system with x86_64 architecture.")
if is_arm():
print("This is an ARM machine, such as Mac M1")
互联网连接
用于检测用户是否连接到互联网的实用程序。
from environments_utils import is_online
if is_online():
print("You are online.")
else:
print("You are offline")