OctoMation中使用第三方Python模块 - flagify-com/OctoMation GitHub Wiki

OctoMation内置了丰富的python模块供应用调用,可以在系统状态中点击查看内置模块列表:

如果应用开发需要的模块系统没有内置该如何处理呢?

1. 在容器内安装模块

1. 进入Python服务容器

docker exec -it shakespeare-java-exe-python /bin/bash

2. 在容器内安装模块

pip install 模块名

2. 通过wheel在代码内自动安装

1. 下载对应的whl文件,并放到应用目录中

如图(可以与python文件同一目录):

2. init对象或者函数使用时,初始化模块导入 ,如:

def __init__(self, det: bool = False):
    try:
        import onnxruntime
    except ModuleNotFoundError:
        model_filename = os.path.join(
            os.path.dirname(os.path.abspath(__file__)),
            "onnxruntime-1.1.0-cp36-cp36m-manylinux1_x86_64.whl"
        )
        os.system(f"source /etc/profile; pip install {model_filename}")

如果whl文件与python文件不在同一目录时,os.path.abspath(__file__)需要变成相对于当前python文件的实际路径