【问题标题】:Visual Studio Code python pip proxy and pylintVisual Studio Code python pip 代理和 pylint
【发布时间】:2020-08-28 00:10:24
【问题描述】:

我正在尝试使用 Visual Studio 代码编写一些 python,因为我无法处理 pycharm 的内存需求。我也在处理公司代理,所以我在本地安装了 cntlm 来解决这个问题,所以所有请求都需要转到 127.0.0.1

我开始使用 Visual Studio 代码;

<yada yada>\Microsoft VS Code\Code.exe" --proxy-server=http=127.0.0.1:3128

到目前为止一切顺利。他们建议我缺少 pylint 模块并且无法安装它,因为它使用了错误的代理;

(venv) <yada yada>PycharmProjects/Rosaline/venv/Scripts/python.exe -m pip --proxy <corporateproxy>:80 install -U pylint

所以我的第一个问题是为什么 vsc 不告诉 pip 使用正确的代理,第二个问题是为什么它要在每个项目的基础上安装 linter?

【问题讨论】:

  • 我不知道代理问题,但是对于第二个问题,它不是“per project”,而是per Python environment。它不像 PyCharm 那样拥有自己的环境,它使用系统上可用的环境。
  • 抱歉,我的术语可能混淆了 s/project/environment,但是您到底为什么要在每个环境中安装 linter?确定这是您想要附加到 IDE 的东西吗?
  • 嗯,VS Code 的设计并非适用于 Python,因此它需要灵活地支持其他语言。它can use pylint,但需要先安装在您的系统上。您始终可以在系统范围内安装 pylint,并始终使用该环境。
  • 您希望每个环境都有一个 linter 来控制您正在使用的 linter 的版本。当团队将其标准化时,通常是与他们的 CI 系统匹配的特定版本。否则,由于配置、功能集、错误等,您可能会收到不同的 linter 消息。同一公司内的不同团队可以对不同的版本进行标准化。

标签: python visual-studio-code


【解决方案1】:

不要试图在 VS Code 中解决这个问题,而是在操作系统级别。您可以为 PIP 创建一个全局配置文件,在其中设置要使用的代理。因此,使用 VS Code 或终端来运行 PIP 并不重要。在终端中,运行:

python -m pip config --global set global.proxy https://your-proxy:PORT/

pip 配置详情见:https://pip.pypa.io/en/stable/reference/pip_config/

尽管如此,您仍然需要在 VS Code 中正确设置代理,以便例如可以下载插件。 VS Code 使用环境变量 http_proxyhttps_proxy。如果设置正确,则无需进一步配置。否则,您还可以在 VS Code 配置中显式设置这些设置。只需在设置对话框中搜索代理即可。

【讨论】:

    【解决方案2】:

    它不使用代理设置,因为老实说,没有人提出过将它们传递给 pip 的功能请求。请在https://github.com/microsoft/vscode-python 提出功能请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 2019-03-31
      • 2020-09-10
      • 1970-01-01
      相关资源
      最近更新 更多