2017-05-05 73 views
0

我正在使用ubuntu 16.04 VPS上的fabric和python 3.6。如果我在SSH和使用bash我可以这样做:Conda激活env在bash中工作,但不支持织物

[email protected]:~$ conda info --envs 
# conda environments: 
# 
python-devel    /home/deploy/miniconda3/envs/python-devel 
test      /home/deploy/miniconda3/envs/test 
root     * /home/deploy/miniconda3 

[email protected]:~$ source activate test 
(test) [email protected]:~$ 

我有以下的面料功能:

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

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

这使输出:

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


Done. 
Disconnecting from [email protected] done. 

如何我得到这个工作面料

回答

0

您的activate只在一个周期内保持有效,除非您使用prefix

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

这样,在你运行阻滞一切都将与source ~/miniconda3/bin/activate test &&

前缀