gpt4 book ai didi

linux - Python 子进程可以在没有 shell = true 的情况下创建 conda 环境吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:18:39 25 4
gpt4 key购买 nike

我需要使用 conda 环境来执行 python 文件(因为缺少服务器管理员设置的权限和约束)。所以目前我执行以下操作来激活环境:

subprocess.check_output('source activate rgi_run', shell=True)

然后使用另一个使用 shell = True 的 suprocess 调用运行我的脚本。

然而,我只阅读了有关使用 shell = True 的“负面”内容,尤其是安全原因(例如:Actual meaning of 'shell=True' in subprocess)。所以我想知道是否还有其他选择可以做到这一点,如果没有,在私有(private)内部服务器上运行时是否存在安全原因?

最佳答案

还有两个其他选项:1 是解决方法,2 将是 conda 4.6 中可用的最终解决方案。

  1. conda 包装器Guilherme Melo 在 conda 环境中为 python 可执行文件创建了一个包装器。如果您在 IDE 中将其设置为 python 解释器,例如PyCharm,它将激活调用它的 conda 环境,然后调用 python 解释器。在“创建 conda 包装器”部分下查看此处: https://pypi.org/project/exec-wrappers/

  2. conda 运行关于 a standard and fast way to execute a command inside an environment 上 conda github 页面的长时间讨论导致执行新命令(实际上是重新调用,因为它以前可用):畅达运行

它在issue #7320中有描述并将在 conda-4.6 中发布希望在 2018 年 10 月!

关于linux - Python 子进程可以在没有 shell = true 的情况下创建 conda 环境吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com