【发布时间】:2018-03-22 09:24:42
【问题描述】:
我需要使用 conda 环境来执行 python 文件(因为缺少服务器管理员设置的权限和约束)。所以目前我做了以下激活环境:
subprocess.check_output('source activate rgi_run', shell=True)
然后使用 shell = True 使用另一个 suprocess 调用运行我的脚本。
但是,我只阅读了有关使用 shell = True 的“负面”信息,尤其是安全原因(例如:Actual meaning of 'shell=True' in subprocess)。所以我想知道是否还有其他选择可以做到这一点,如果没有,在私有内部服务器上运行它时是否存在安全原因?
【问题讨论】:
-
如果你必须
source来设置环境,你必须在运行 Python 之前完成它。您不能在子进程中运行它,然后期望它影响脚本的其余部分。
标签: linux shell security subprocess