gpt4 book ai didi

python - 在 VS Code 中将 Python linter 与 Docker 一起使用

转载 作者:IT老高 更新时间:2023-10-28 21:21:00 26 4
gpt4 key购买 nike

当 Python 和所有软件包都安装在 Docker 容器中时,我正在尝试让 Python linters 在 VS Code 中工作。

我以前没有使用过 linter。但据我了解 linter 如何工作(至少在 VS Code 中),我需要将 VS Code 指向 Python 解释器并在需要时设置包的路径。如果一切都安装在 Docker 容器中,这将成为一个问题。

我正在尝试仅使用 Docker 功能。我想出的是以下内容:

  1. 将安装 Python 目录绑定(bind)到某个本地文件夹
  2. 从该文件夹中选择 VS Code 中的 Python 解释器
  3. 如果需要,以类似的方式为已安装的包添加目录(但我还没有达到这个阶段)

我尝试使用 Docker 文档中的 Django 示例项目来实现所有内容,所以我的文件如下所示

docker-compose.yml

version: '3'

services:
db:
image: postgres
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
- ./.vscode/python:/usr/local/lib/python3.7 # The problem is here
ports:
- "8000:8000"
depends_on:
- db

Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

requirements.txt

Django
psycopg2

- ./.vscode/python:/usr/local/lib/python3.7 行被注释时,Django 项目可以工作。但是当我尝试以与安装 /code 文件夹相同的方式绑定(bind)安装 Python 文件夹时,我不仅无法在本地访问该文件夹的内容,而且 Django 项目停止工作。

是否可以通过这种方式挂载 Python 可执行文件?或者,在使用 VS Code 和 Docker 时,也许有更好的方法来使用任意 Python linter?最好避免:

  • 在本地创建与 Docker 容器中相同的环境
  • 安装不允许使用任意 linter 的扩展程序

最佳答案

不是 Docker 方面,只是一些 VS 代码的注意事项

VS Code 依赖于两种机制来解决 python 高亮:环境和 linter。

环境可以查看https://code.visualstudio.com/docs/python/environments ,这基本上说python在路径中的系统上可用,或者选择您创建的虚拟环境,或者在json中提供python可执行文件的路径。

https://code.visualstudio.com/docs/python/linting告诉使用 pip 安装 linter,可从您配置的环境运行或在 json 中提供 linter 的路径。

所以看起来你需要复制 VSCode python linting 的唯一事情是 python executabe、安装 pylint 和 vscode 的 json 配置。

关于python - 在 VS Code 中将 Python linter 与 Docker 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com