gcpdataproc如何在交互式登录和ssh命令之间使用相同的python

2024-09-30 01:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

对于gcpdataproc集群,如果我使用ssh运行命令

gcloud compute ssh --internal-ip mycluster-m some_command.sh

我得到的Python是

/usr/bin/python

然而,当我登录时,我得到一个系统conda python--

/opt/conda/default/bin/python

我的脚本中的sourcing.bashrc没有帮助,我看到.bashrc

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

我认为这意味着它不会做任何事情——但是我不知道python是如何在bashrc中设置为conda环境的(这是dataproc映像版本1.4)

另一件令人困惑的事情是如何在初始化脚本中安装软件包。我主要在dataproc上做临时交互工作,并且我已经学会了做类似的事情

sudo /opt/conda/default/bin/python3 -m pip install tensorflow<1.15 google-cloud-storage

让我的包裹有空。但是现在当我运行ssh命令时,我得到了一个不同的python

当我使用ssh命令时,我需要什么源代码来运行conda python


Tags: 命令脚本defaultbin集群事情condassh
1条回答
网友
1楼 · 发布于 2024-09-30 01:33:52

SSH with command只是通过分叉而不是创建新的登录shell来运行命令,这就是为什么python env没有被激活的原因。这是无法获得python用户权限的几种情况之一

对于您的用例,寻源/etc/profile.d/effective-python.sh是一种合理的方法

相关问题 更多 >

    热门问题