如何告诉 VSCode python 包确实已安装?

问题描述 投票:0回答:2

我正在使用 Pygame 库构建一个 Python 应用程序,并使用 Docker 将其容器化。

这是

Dockerfile

FROM python

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["python", "main.py"]

这是

requirements.txt

autopep8==1.6.0
pygame==2.1.0

这是

docker-compose.yaml
文件:

version: "3.8"
services:
  app:
    build: ./
    stdin_open: true
    tty: true

这是

main.py

import pygame

print("hello there")

这就是我跑步时发生的情况

docker-compose up

Attaching to connect-four_app_1
app_1  | pygame 2.1.0 (SDL 2.0.16, Python 3.10.1)
app_1  | Hello from the pygame community. https://www.pygame.org/contribute.html
app_1  | hello there
connect-four_app_1 exited with code 0

如您所见,该应用程序运行良好。唯一的问题是,在我的

main.py
文件中,VSCode 无法找到
pygame
,即它认为它尚未安装,因此我没有获得该库的任何自动完成功能。我如何告诉 VSCode
pygame
实际上已安装,但仅在容器中?

非常感谢。

python docker pygame
2个回答
1
投票

我从未使用过 Docker,所以我不知道这是否对你有帮助。但我使用 virtualenvs 的经验是,您应该告诉 VS Code 您希望它使用哪个 Python 解释器来运行您的代码。根据您安装软件包的位置,也许您使用的解释器无法访问您已安装的软件包(也许您在不同的目录中使用不同的 Python 安装来获得此软件包)。

为了排除这不是问题,请尝试按 F1,然后在 VS Code 上键入/选择“Python:选择解释器”。然后,您可以浏览 PC 中安装的所有 Python 版本,看看哪一个可以识别您想要的包。希望这对您有一点帮助。


0
投票

我相信 VSCode Dev Containers 扩展可以满足您的需求:https://code.visualstudio.com/docs/devcontainers/containers

© www.soinside.com 2019 - 2024. All rights reserved.