Как динамически установить путь к Pylint, используя .pylintr c? - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь настроить linting для проекта Python с использованием pylint в коде Visual Studio. Я управляю зависимостями, используя conda, и там установлен pylint, но VS C по умолчанию ставит глобальную ссылку на pylint в качестве пути (/Library/Frameworks/Python.framework/Versions/3.7/bin/pylint) вместо установки conda для этого проекта (/opt/miniconda3/envs/tf/bin/pylint).

Мне удалось решить проблемы с линтингом, вручную изменив настройку VS C на установку conda; Мне интересно, есть ли способ включить это в .pylintrc, чтобы мои товарищи по команде, клонирующие этот репозиторий, могли задерживаться, не вмешиваясь в их настройки.

1 Ответ

0 голосов
/ 12 марта 2020

У меня была похожая проблема, и я нашел обходной путь, но я не уверен, будет ли он работать с VS C. Я всегда использую pylint из базового env и переписываю sys.path в init pylint в текущую активную среду conda. Это предотвращает ошибки E0401 без установки pylint во всех средах conda.

Я использую следующую конфигурацию в ~/.pylintrc:

[MASTER]
init-hook = "import os, sys;\
             sys.path = [s.replace('/opt/anaconda3', os.getenv('CONDA_PREFIX'))\
                         for s in sys.path]"

/opt/anaconda3 - это мой базовый путь enaconda env, и его следует заменить вашим (/opt/miniconda3, очевидно). Я не нашел способа получить это значение автоматически.

exe pylint в моем редакторе config связан с файлом base .

I тогда запустить мой редактор из терминала с правильной средой conda (я использую vim , поэтому запуск редактора из терминала не является проблемой :))

...