一、单个模块中缺失的库
在编写代码的时候,如果我们需要使用某个三方库(如 requests),但不确定实际运行的环境是否装了它,那么可以这样写:
try: import requests except ImportError: import os os.system('pip install requests') import requests
如果真找不到兼容的标准库,也可以自己写一个模块(如 my_json.py),实现想要的东西,然后在 except 语句中再导入它。
try: import simplejson as json except ImportError: import my_json as json
二、整个项目中缺失的库
问题是:有一个项目,想要部署到新的机器上,它涉及很多三方库,但是机器上都没有预装,该怎么办?
对于一个合规的项目,按照约定,通常它会包含一个“requirements.txt ”文件,记录了该项目的所有依赖库及其所需的版本号。这是在项目发布前,使用命令pip freeze > requirements.txt 生成的。
使用命令pip install -r requirements.txt (在该文件所在目录执行,或在命令中写全文件的路径),就能自动把所有的依赖库给装上。
三、自动导入任意缺失的库
l 可以用 try…except 方式,实现简单的三方库导入或者替换
l 已知全部缺失的依赖库时(如 requirements.txt),可以手动安装
l 利用 sys.meta_path,可以自动导入任意的缺失库
好啦,常见的就是这三个缺失的库的导入方式,大家可以根据自己的需求不同,选择适合自己的导入方式哦~