Python Conda activate env在bash中工作,但在fabric中不工作

Python Conda activate env在bash中工作,但在fabric中不工作,python,ubuntu,fabric,Python,Ubuntu,Fabric,我正在ubuntu 16.04 VPS上使用fabric和python 3.6。如果我使用ssh并使用bash,我可以执行以下操作: deploy@server:~$ conda info --envs # conda environments: # python-devel /home/deploy/miniconda3/envs/python-devel test /home/deploy/miniconda3/envs/tes

我正在ubuntu 16.04 VPS上使用fabric和python 3.6。如果我使用ssh并使用bash,我可以执行以下操作:

deploy@server:~$ conda info --envs
# conda environments:
#
python-devel             /home/deploy/miniconda3/envs/python-devel
test                     /home/deploy/miniconda3/envs/test
root                  *  /home/deploy/miniconda3

deploy@server:~$ source activate test
(test) deploy@server:~$
我具有以下结构功能:

def _update_conda_env(site_folder, host):
......

    run(f'source ~/miniconda3/bin/activate test')
    run(f'~/miniconda3/bin/conda info --envs')
其输出:

[deploy@mysite.org] run: source ~/miniconda3/bin/activate test
[deploy@mysite.org] run: ~/miniconda3/bin/conda info --envs
[deploy@mysite.org] out: # conda environments:
[deploy@mysite.org] out: #
[deploy@mysite.org] out: python-devel             /home/deploy/miniconda3/envs/python-devel
[deploy@mysite.org] out: test                     /home/deploy/miniconda3/envs/test
[deploy@mysite.org] out: root                  *  /home/deploy/miniconda3
[deploy@mysite.org] out: 
[deploy@mysite.org] out: 


Done.
Disconnecting from deploy@mysite.org... done.

如何在fabric中运行此功能

除非您使用
前缀
,否则您的
激活
仅在一个周期内保持活动状态

with prefix('source ~/miniconda3/bin/activate test'):
    run(f'~/miniconda3/bin/conda info --envs')

这样,运行块中的所有内容都将以
source~/miniconda3/bin/activate test&
为前缀,除非您使用
前缀,否则您的
activate
仅在一个周期内保持活动状态

with prefix('source ~/miniconda3/bin/activate test'):
    run(f'~/miniconda3/bin/conda info --envs')
这样,run块中的所有内容都将以
source~/miniconda3/bin/activate test&