【问题标题】:VSCode does not use expected environmentVSCode 没有使用预期的环境
【发布时间】:2018-04-26 09:48:24
【问题描述】:

我想使用具有以下功能的 python 环境:

  1. 虚拟环境。
  2. PYTHONPATH 提供本地开发路径。
  3. 全局安装的 linter 相关包——我不想或不需要在我的虚拟环境中使用这些包。

(1) 非常简单,感谢文档。

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

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

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

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

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

很遗憾,这意味着 linter 找不到安装在虚拟环境中的模块。

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

我来自 Atom,这种事情刚刚奏效……讽刺。我正在尝试 VS Code,因为 Atom 的许多部分运行不顺畅。

【问题讨论】:

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


【解决方案1】:

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

由于我没有让它工作,我一直在寻找解决方案,直到找到另一个question,基本上它建议您将您的需求分解为这样的模块化文件夹层次结构:

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

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

我知道这不是您正在寻找的东西,但我认为这是组织需求并避免在所有环境中出现与 linter 相关的东西的好方法。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 2020-05-22
    • 2018-12-02
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    相关资源
    最近更新 更多