Skip to main content
 首页 » 编程设计

python之让 python 脚本检查缺少的模块并在缺少时安装

2025年05月04日22langtianya

我正在努力使我编写的脚本更具可移植性。

我的脚本中使用的一些工具需要安装某些模块。我已经能够让脚本自己安装模块,但希望有一种机制可以检查它们是否已经安装,并且只在丢失时才尝试安装。

我确信这是可能的,但我似乎找不到解决方案。

请您参考如下方法:

对此的标准解决方案是将您的脚本变成一个模块,并且declare its dependencies in the setup.py of the module.

from setuptools import setup 
 
setup(name='foo', 
  ... 
  install_requires=['dependency', 'other', ...]) 

一个支持性的、较弱的约定是在 requirements.txt 中保留一个列表,这样你就可以

pip install -r requirements.txt 

让您自己的脚本来完成这些杂务通常没有用或没有必要;现有的打包基础设施已经提供了您所需要的,并且是操作和管理包依赖性的自然点。

从历史上看,由于不同的打包机制在 Python 生态系统中争夺主导地位,因此存在一些动荡,但现在似乎已经在 setuptools 和 pip 上解决了。