背景:我是一个使用Python并大量使用VS Code的团队的开发人员。我们希望能够共享我们的project.code-workspace
,但是关键设置之一是python.pythonPath
,它指定了Python可执行文件。
由于我们使用virtualenvs(以及至少2个不同的操作系统),因此无法指定此设置,因此在不同的计算机上它将是不同的绝对路径。
尽管如此,我们也不能 not 指定它;如果没有设置,Python扩展的许多功能将无法使用。只要有人在该工作区中本地设置了该文件,便会在版本控制中修改该文件。我们会不断冒险冒险有人更改它,然后提交他们的更改,将其破坏给其他所有人。
结果是我们无法提交.code-workspace
文件,因为无法对其进行参数化。
答案 0 :(得分:2)
经过反复试验,我找到了一些答案。
似乎出现两个设置来控制Python扩展程序在哪里寻找解释器和环境:python.venvPath
和python.venvFolders
。第一个正式记录在settings reference上。我找不到第二本书的任何官方文档,但是Internet上有很多对此的引用。
我将路径设置如下。我们使用virtualenvwrapper。
我建议在用户或工作区级别进行设置。如果您有一些团队成员使用不同类型的virtualenv或在默认位置以外的其他位置安装venv,则可能需要将其保留在用户级别,以便他们可以对其进行修改。
VS Code具有多个设置级别; 默认 <用户 <工作区 <文件夹。
就我而言(以及其他许多团队成员),我们在文件夹级别进行了python.pythonPath
设置,该设置会覆盖所有其他设置。 文件夹级别具有最高优先级。
您可能需要在每个级别打开和编辑settings.json
并删除设置。完成此操作后,VS Code 应该在您的virtualenv中自动选择Python的路径,这意味着您完全不必设置它。
python.pythonPath
。 。 ...我建议将其设置为文件夹级别,并从版本控制中进行隐藏 ${workspaceFolder}/.vscode
。这使您可以:
赋予每个用户自己设置的能力
使用户能够在每个项目之间切换时分别为每个项目设置。
同样,请确保您的团队不会在工作区级别上意外更改此设置,以便可以在版本控制中保持project.code-workspace
文件的干净状态。