我正在使用带有自定义 DockerFile 的 Visual Studio Code Remote - Containers 扩展。它基于https://github.com/microsoft/vscode-dev-containers/blob/master/containers/python-3/.devcontainer/Dockerfile但使用不同的基本映像并且不尝试根据要求进行 pip 安装。文本。
当我在 vscode 中构建容器时,将 PostCreateCommand 设置为“python --version”,开发容器终端输出中出现以下错误:
Run: docker exec -w /workspaces/media-classifier dd5e552b4f113ecf74504cc6d3aed3ca1727b4a172645515392c4632b7c45b81 /bin/sh -c python --version
/bin/sh: 1: python: not found
postCreateCommand "python --version" failed.
我尝试使用标准 python3 容器和 python3 anaconda 容器对 PostCreateCommand (python --version) 使用相同的设置值,它们都成功输出了 python 版本。
我还尝试将 PostCreateCommand 设置为以下值,它们都会产生相同的“未找到”错误:
pip --version conda --version
容器启动后,我可以成功使用 python、pip 和 conda,因此它们肯定已安装。
Dockerfile
FROM microsoft/cntk:2.6-cpu-python3.5
# Configure apt and install packages
RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils 2>&1 \
#
# Verify git, process tools, lsb-release (common in install instructions for CLIs) installed
&& apt-get -y install git procps lsb-release \
# Clean up
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
devcontainer.json
{
"name": "CNTK Python3.5",
"context": "..",
"dockerFile": "Dockerfile",
// Uncomment the next line if you want to publish any ports.
// "appPort": [],
// Uncomment the next line to run commands after the container is created.
"postCreateCommand": "python --version",
"extensions": [
"ms-python.python",
"neuron.neuron-ipe"
],
"settings": {
"python.pythonPath": "/opt/conda/bin/python",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true
}
}
我期待 PostCreateCommand 成功执行并输出安装在当时处于活动状态的任何 anaconda 环境中的 python 版本。