首页 > 解决方案 > django REST API 调用来自不同 python 环境的脚本

问题描述

我有一个 django rest API,它允许调用不同的预测方法。这些方法/脚本位于不同的 conda 环境中。我当然可以使用一个环境脚本,通过激活该脚本的环境并在其中运行 django 服务。但我不确定如何为另一个脚本做这件事。我最后的手段是在不同的环境设置中运行两个 django 服务,但正在寻找更好的方法。

我想,我想在 django 中以编程方式激活环境(取决于被调用的方法)

标签: pythondjangoconda

解决方案


我使用子进程从不同的环境中调用脚本,其中我使用了给定脚本环境中的 python 解释器。

subprocess.run(['../anaconda3/envs/allennlp/bin/python','../predict.py', '-s', serialization_dir, '-c', params, '-i', input_file_path, '-o', output_file_path])

推荐阅读