错误:无法运行ssh:没有此文件或目录
我在使用Popen()函数进行git push时遇到了一个问题,出现了ssh错误。
error: cannot run ssh: No such file or directory
fatal: unable to fork
我觉得这个错误可能是因为ssh不在我的Python脚本的路径里?如果真是这样,我该怎么处理比较好呢?
这是我的函数调用,可能会有帮助。
subprocess.Popen( 'git push', shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
另外,git status运行得很好,所以我知道git命令是有效的。只是当它尝试与服务器互动时就出问题了。
2 个回答
0
检查一下你是否安装了 ssh-client
。这个方法可以解决在 Docker 机器上遇到的问题,即使你已经有了 SSH 密钥。
apt-get install ssh-client
1
看看下面这个命令的输出:
subprocess.Popen("echo $PATH",shell=True)
输出中应该包含你ssh程序的路径(这个路径也可以在os.environ["PATH"]中找到)。这个路径和你的Python搜索路径(在sys.path中)是不一样的。