Я работаю в скрипте python (окна), чтобы удаленно выполнить (другой) скрипт на сервере linux. Мне нужно изменить каталог и сохранить состояние для выполнения сценария, и после исследования я обнаружил, что помощь по ткани может решить проблему. Однако он попадает на ошибку pylint:
E1129:Context manager 'generator' doesn't implement __enter__ and __exit__.and
Нашли некоторые комментарии к этой проблеме, как и здесь, но я не понимаю, не знаю, что происходит и как разрешать. Насколько я понял, менеджер контекста для работы с материалами работает вместе с оператором "с", многие примеры похожи на мой код, мало кто сообщает о решении такого поведения, или это я, который новичок не понимает. Я использую VSCode как IDE, python 3.7 и fabric3. Надеюсь, вы поможете мне прояснить, что происходит. Спасибо!
Это код, который я использую сейчас:
from fabric.api import cd, run, task, run, env
from fabric.context_managers import cd
env.hosts = ['[email protected]:22']
env.password = ['myp@ss']
DIR = 'elfar/elfar'
def go_to_script():
with cd(DIR):
run("ls")
Кажется, что эта проблема существует очень долго, она называется "ложная ошибка неконтекст-менеджера". Решение пропускает предупреждение, отключая проверку pylint не-контекст-менеджера. Я достиг этого, выполнив следующие шаги:
Перейдите в папку проекта и создайте файл pylintrc
pylint --generate-rcfile > ~/.pylintrc
Откройте файл и найдите строки:
# --disable=W".
disable=