Есть ли способ параметризации установки Python VS Code в Python.pythonPath? - PullRequest
0 голосов
/ 15 ноября 2018

Справочная информация: я являюсь разработчиком в команде, которая использует Python и интенсивно использует VS Code. Мы хотели бы поделиться нашим project.code-workspace, но одним из критических параметров является python.pythonPath, который указывает исполняемый файл Python.

Поскольку мы используем virtualenvs (и как минимум две разные операционные системы), мы не можем указать этот параметр, это будет разный абсолютный путь на разных машинах.

Мы также не можем не указать, хотя; без него многие функции расширения Python не работают. Как только кто-то устанавливает его локально в этом рабочем пространстве, файл изменяется в системе управления версиями. Мы постоянно рискуем, чтобы кто-то изменил его, а затем совершил изменение, нарушив его для всех остальных.

В результате мы не можем зафиксировать файл .code-workspace, поскольку он не может быть параметризован.

1 Ответ

0 голосов
/ 15 ноября 2018

После некоторых проб и ошибок я нашел несколько ответов.

Прежде всего, убедитесь, что ваша virtualenv видна расширению Python VS Code

Появляются две настройки для управления тем, где расширение Python ищет интерпретаторы и среды, python.venvPath и python.venvFolders. Первый официально задокументирован на справочнике настроек . Я не могу найти официальную документацию для второго, но в Интернете есть много ссылок на нее.

Я установил свои пути следующим образом. Мы используем virtualenvwrapper.

I set my paths as follows. We use virtualenvwrapper.

Я рекомендую установить их на уровне Пользователь или Рабочая область . Если у вас есть члены команды, использующие разные типы virtualenv или устанавливающие venvs где-то, отличное от заданного по умолчанию, вы можете оставить это на уровне пользователя, чтобы они могли его изменить.

Во-вторых, убедитесь, что вы случайно не установили его где-то еще

VS Code имеет несколько уровней настройки; По умолчанию <<strong> Пользователь <<strong> Рабочая область <<strong> Папка .

В моем случае (и для многих других членов команды) у нас был параметр python.pythonPath на уровне Папка , который перекрывает все остальные. Уровень Папка имеет наивысший приоритет.

Может потребоваться открыть и отредактировать settings.json на каждом уровне и удалить настройку. Как только вы это сделаете, VS Code должен автоматически выбрать путь к Python в вашем virtualenv, то есть вам вообще не нужно его устанавливать.

Если вам все еще нужно установить python.pythonPath вручную. , .

... Я рекомендую установить его на уровне Папка и , скрывая ${workspaceFolder}/.vscode от контроля версий. Это позволяет вам:

  • Дайте каждому пользователю возможность установить его самостоятельно

  • Дайте пользователям возможность установить отдельно для каждого проекта при переключении между проектами.

И снова, убедитесь, что ваша команда случайно не изменила этот параметр на уровне рабочего пространства, чтобы вы могли сохранить файл project.code-workspace в чистоте в управлении версиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...