python - 使用 Docker 设置 python 开发环境(在 vscode 中使用 linting 和代码完成)
问题描述
设置
我正在探索在 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 等等......
欢迎任何帮助和想法!
解决方案
好消息。VScode 的人们最近发布了似乎正是我想要的东西。使用容器远程 VScode,现在可以在具有所需确切环境的容器上运行编辑器。在这个 repo中我编译了一个最小的例子,我希望你会发现它很有用。
推荐阅读
- c++ - 关于派生类在基中实现的C++调用虚函数的问题
- c++ - 如何在 C++ 中遍历 Pytorch 张量中的每个值?
- spring - SSM 框架中的事务回滚问题
- machine-learning - AutoML NL - 基于 ICD10-CM 的训练模型 - 所需文本量
- c++ - C ++:当我更改数组中的最大元素数时,合并排序停止工作?
- python - 运行 python 脚本时列表索引超出范围
- android - 在对话框片段上保存用户输入后无法更新父列表
- python - 程序集和python之间的转移
- git - 如何将 master 回滚到先前的提交,进行更改,然后重新应用回滚的所有内容?
- android - 从 Playstore 下载时 APK 崩溃 - 调试工作正常