Python是一种通用性编程语言,在开发过程中经常会用到各种不同的模块。本文主要介绍Python程序如何判断模块是否安装。

1.通过导入检查:
通过import语句尝试导入模块。若导入失败则表明该模块未被安装,可以用try模块捕获ImportError来验证是否导入成功。如下:
try:
import module_name
except ImportError:
# 模块未安装
2.通过pip list检查:
我们可以使用pip list命令来列出系统中已安装的Python模块。可以通过Python的os模块调用该命令来实现在Python代码中检查模块是否安装。如下:
import subprocess
import sys
def check_module_installed(module_name):
try:
subprocess.check_output([sys.executable, '-m', 'pip', 'freeze'])
success = True
except subprocess.CalledProcessError:
success = False
if success:
installed_packages = str(subprocess.check_output([sys.executable, '-m', 'pip', 'freeze']), 'utf-8').split('\n')
for installed_package in installed_packages:
if module_name in installed_package:
return True
return False
3.使用pkgutil库检查:
Python标准库中的pkgutil模块提供了find_loader()方法,通过该方法可以检查一个给定的包是否安装,并返回一个loader对象。若返回的对象不为None则表明该模块已被安装。示例代码如下:
import pkgutil
def check_module_installed(module_name):
return module_name in (module.module_name for module in pkgutil.iter_modules())
结论:
不同于其他语言,Python中安装模块主要通过pip进行。可以通过import,pip list以及pkgutil库三种方式进行模块安装的检查。具体方式根据实际情况选择。