【问题标题】:issue using pipenv command over ssh在 ssh 上使用 pipenv 命令的问题
【发布时间】:2020-01-01 22:34:32
【问题描述】:

我有一个 shell 脚本,它使用 scp 将文件从我的计算机传输到 AWS 上的 EC2 实例。传输后,它使用通过 ssh 执行的命令在 EC2 实例上执行 shell 脚本。我尝试运行的 shell 脚本中的命令(以及其他命令)是:

pipenv install

当我在本地机器上运行父 shell 脚本时,它正确传输文件,正确运行大部分传输的 shell 脚本,但在 pipenv 命令中生成错误:

pipenv: command not found

如果我 ssh 进入机器并使用 pipenv 命令执行(现在是本地的)shell 脚本,它运行良好。

我无法弄清楚通过 ssh 运行 shell 脚本与在本地运行它之间有什么区别,以及为什么在通过 ssh 运行时会出错。任何建议和帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services ssh web-applications virtualenv pipenv


    【解决方案1】:

    不同之处在于定义系统中二进制文件位置的 PATH 变量在不使用 shell 的情况下无法访问,尤其是在 .bash_profile 或 /etc/profile 下定义时

    所以要么你在你的 shell 脚本中设置 PATH 变量

    例如

    PATH=~/opt/bin:$PATH
    

    或者当你在你的 bash 下尝试使用

    找到你的二进制文件的完整路径
    which pipenv 
    

    并在您的脚本中将 pipenv 替换为完整路径

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 2016-12-16
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 2023-01-26
      • 1970-01-01
      相关资源
      最近更新 更多