我正在探索在docker容器中设置python开发环境的方法。
在我的本地(主机)我有项目目录:
.
├── Dockerfile
└── foo.py
我的Dockerfile
在哪里:
FROM python:latest
RUN pip install --upgrade pip
RUN pip install matplotlib
RUN mkdir /src
WORKDIR /src
ENTRYPOINT [ "python" ]
并且脚本是:
try:
import matplotlib
print("import successfully")
except ImportError:
print("unable to import matplotlib")
假设我没有在我的主机上安装matplotlib
,那么python foo.py
会产生unable to import matplotlib
。当我在容器内运行时:
docker run -it --rm -v ~/tmp/:/src/ py-deb-test foo.py
我得到import successfully
。
现在,我的目的是使用本地主机上的vscode处理我的代码并在容器中运行它。问题是在这个设置中我不知道如何将vscode指向容器中运行的python“安装”。我想到启动容器并将python从容器“挂载”到本地位置并将vscode指向此位置。但到目前为止它没有用。
如果不解决这个问题,vscode就不知道安装了什么软件包,在哪里找到了linter等等......
欢迎任何帮助和想法!
目前没有任何官方支持这种情况,但你可以按照issue tracking remote interpreter support知道我们什么时候有一些解决方案。
好消息。 VScode的人们最近发布了我正在寻找的东西。使用containers remote VScode,现在可以在具有所需环境的容器上运行编辑器。在this repo我编写了一个最小的例子,我希望你会发现它很有用。