VSCode不使用预期的环境

时间:2017-11-13 16:22:57

标签: python-3.x visual-studio-code environment-variables virtualenv

我想使用以下的python环境:

  1. 虚拟环境。
  2. PYTHONPATH有本地发展路径。
  3. 全球安装的与linter相关的软件包 - 在我的虚拟环境中我不想要或不需要这些软件包。
  4. (1)由于文档很简单。

    "python.pythonPath": "<venv path>/bin/python",
    

    我通过将它添加到env文件和我的配置来处理(2):

    "python.envFile": "${workspaceRoot}/.env"
    

    大问题将(1)和(3)放在一起。一旦设置(1),VSC开始抱怨它找不到直线。简单的解决方案是更新linter路径:

        "python.linting.pylintPath": "/usr/local/bin/pylint",
    

    不幸,这意味着连接器无法找到虚拟环境中安装的模块。

    我能找到的最接近的答案是: Visual Studio Code - How to add multiple paths to python path?,但它仍然没有找到问题的根源。

    我来自Atom,这种事情刚刚起作用......具有讽刺意味。我正在尝试VS Code'因为Atom的很多部分都不能顺利运行。

1 个答案:

答案 0 :(得分:0)

我正在尝试实现相同的目标,在我的环境中使用全局安装的pylint。我确定你看到这个question,答案是使用python $(which pylint)而不是pylint使用virtualenv python运行(全局)pylint。

由于我没有让它工作,我一直在寻找解决方案,直到找到另一个question,基本上它表明你将你的要求分解为模块化的文件夹层次结构,如下所示:

    `-- django_project_root
    |-- requirements
    |   |-- common.txt
    |   |-- dev.txt
    |   `-- prod.txt
    `-- requirements.txt

然后,您可以将所有与linter相关的依赖项放在dev.txt上,并通过添加-r common.txt将其设置为导入常见需求。

我知道这并不是你想要的,但我认为这是组织要求并避免在所有环境中使用与linter相关的东西的好方法。

修改:我还建议您查看有关管理多个需求文件的link