我有一个 dockerfile 来创建一个带有 miniconda 的容器并安装一些包(在此处修剪):
FROM continuumio/miniconda3:4.11.0
# install the necessary packages
RUN conda install -c conda-forge python=3.10.4 \
ipykernel=6.13.0 \
numpy=1.22.3
ENV APP_DIR /app
WORKDIR ${APP_DIR}
CMD /bin/bash
然后我使用 VSCode,将“remote-containers”扩展名为“在容器中打开文件夹”。
然后我打开一个 python 文件并按 F5 运行,但它无法识别某些包。我必须单击 VSCode 右下角将解释器从“3.9.2 64-bit”(/usr/bin/python3)更改为“3.10.4('base':conda)”(/opt/conda/bin/python)。
有没有办法避免这最后一步?也许在 devcontainer.json 文件中添加一些东西?到目前为止的主要想法是尝试修改 PATH 环境变量,使其不会检测到 3.9.2 python,或者使用 dockerfile 中的命令实际删除 3.9.2 python 文件夹或链接,但是这些想法看起来都很丑陋。
回答1
您是否尝试在 devcontainer.json
中添加“设置”字段以便指定 python.pythonPath
value ?
像这样 :
// devcontainer.json
{
"name": "My devcontainer",
"settings": {
"python.pythonPath": "/opt/conda/bin/python"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-azuretools.vscode-docker",
]
}