python - django REST API 调用来自不同 python 环境的脚本
问题描述
我有一个 django rest API,它允许调用不同的预测方法。这些方法/脚本位于不同的 conda 环境中。我当然可以使用一个环境脚本,通过激活该脚本的环境并在其中运行 django 服务。但我不确定如何为另一个脚本做这件事。我最后的手段是在不同的环境设置中运行两个 django 服务,但正在寻找更好的方法。
我想,我想在 django 中以编程方式激活环境(取决于被调用的方法)
解决方案
我使用子进程从不同的环境中调用脚本,其中我使用了给定脚本环境中的 python 解释器。
subprocess.run(['../anaconda3/envs/allennlp/bin/python','../predict.py', '-s', serialization_dir, '-c', params, '-i', input_file_path, '-o', output_file_path])
推荐阅读
- mysql - 使用两个不同的 LIMIT 子句,是否需要使用 UNION 语句来返回相同的数据集?
- java - 休息服务:无法从 @Comsumes() 获取全部数据(由 javax.ws.rs.Comsumes 提供)
- javascript - 如何用较小的 4 位或 16 位数字组成较大的 64 位数字
- hibernate - SpringBoot 2.0.4 中同一实体的多个表示
- nlp - python中的依赖解析
- javascript - 如何在 JavaScript 中添加位
- validation - 01/01/0001 当通过出生日期来控制
- javascript - 将getJSON的结果分成两个部分,并使用每个部分显示不同的DIV
- python - 在 Chrome 中仅关闭 1 个选项卡
- android - 如何在不同的活动中将文本设置为 TextView