我在 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:~$
我有以下 Fabric 功能:
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.
我怎样才能让它在织物上工作
最佳答案
您的 activate
除非您使用 prefix
,否则只会保持事件一个周期.
with prefix('source ~/miniconda3/bin/activate test'):
run(f'~/miniconda3/bin/conda info --envs')
这样,运行 block 中的所有内容都将以
source ~/miniconda3/bin/activate test &&
为前缀
关于python - Conda activate env 适用于 bash 但不适用于结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43811625/