使用 devcontainer 在代码空间中构建 python 虚拟环境

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

我正在从事一个数据科学项目,我有一个存储库。我想在初始化时在代码空间中创建一个 python 虚拟环境,以便我可以在 Jupyter 笔记本 (.ipynb) 中执行代码。我试图通过模拟此设置来做到这一点(https://www.youtube.com/watch?v=qLvAHhJAVlI)。在存储库中,我有一个 .devcontainer 目录,其中包含 devcontainer.json 和 Dockerfile。但是,当我重建代码空间时,找不到虚拟环境。我该如何继续?

这是 Dockerfile 的内容

ARG 变体 =“3.11” 来自 mcr.microsoft.com/vscode/devcontainers/python:${VARIANT}

定义要使用的 virtualenv 的路径 ARG VENV_PATH="/home/vscode/venv"

复制requirements.txt /tmp/pip-tmp/ 运行 su vscode -c "python -m venv /home/vscode/venv"
su vscode -c "${VENV_PATH}/bin/pip --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt"
rm -rf /tmp/pip-tmp

这是 devcontainer.json 的内容:

{ “名称”:“Python 3”, “建造”: { "dockerfile": "Dockerfile", “语境”: ”..”, “参数”:{ “变体”:“3.11”, 选项 "NODE_VERSION": "无" } },

“定制”:{ “vscode”:{ “设置”: { “python.defaultInterpreterPath”:“/home/vscode/venv/bin/python” },

      "extensions": [
          "ms-python.python",
          "ms-python.vscode-pylance",
          "GitHub.copilot"
      ]
  }

},

使用“postCreateCommand”在创建容器后运行命令。 // "postCreateCommand": "pip3 install --user -rrequirements.txt",

“remoteUser”:“vscode”, “特征”: { “azure-cli”:“最新” } }

我使用各种 python 解释器路径尝试了各种 devcontainer 设置。我期望一打开终端就可以初始化并访问虚拟环境。

python virtual virtual-environment vscode-devcontainer github-codespaces
1个回答
0
投票

只需将你的虚拟环境安装到你的源代码目录中,无论你使用的是 venv、poetry、hatch 等,都应该有一个配置选项。然后,当开发容器挂载源代码时,它还会挂载虚拟环境。我通常在

postCreateCommand
中安装依赖项,这将在重建时检测缓存/挂载并跳过安装。

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