Что сработало для меня, было исключение группы hamcrest из компиляции теста junit.
Вот код из моего build.gradle:
testCompile ('junit:junit:4.11') {
exclude group: 'org.hamcrest'
}
Если вы используете IntelliJ вам может потребоваться запустить gradle cleanIdea idea clean build
, чтобы снова обнаружить зависимости.
Используя shell=True
со списком, вы запускаете эквивалент
sh -c ssh -i /path/myKey.pem centos@myServer.com lsb_release -a
, который не , что вы хотите; он запускает ssh
, но использует -i
в качестве значения [116]
, а не первый аргумент ssh
. Это делает /path/myKey.pem
похожим на адрес хоста, к которому вы хотите подключиться.
Просто бросьте shell=True
.
p = Popen(cmd, stdout=PIPE, stderr=PIPE)
Хотя это не проблема, предложение Клауса Д. передать lsb_release -a
в качестве единственного аргумента - это хорошая идея в целом. ssh
должен объединить их в одну строку, чтобы перейти к sh -c
на удаленном конце; может также сделать это самостоятельно, чтобы убедиться, что все сделано правильно.
cmd = ['ssh', '-i', '/path/myKey.pem', 'centos@myServer.com', 'lsb_release -a']