VSCode+Docker建立Python开发环境

当使用Python进行开发的时候可能会遇到这样一种需求:在开发网站时需要一个Python开发环境,该环境需要特定版本的Python及依赖项;在数据科学开发时需要另一个环境,该环境需要另一个版本的Python及依赖项。这时,我们希望在同一台电脑上有两个互相独立,互不干扰的Python开发环境。第一种实现方式是pyenv+virtualenv,网上有许多文章可以参考,配置方法也比较简单。本文介绍利用Docker实现这一目的,其优点是开发的时候可以直接运行在Linux环境中,并且方便开发完成后的部署。

一、Docker的配置

(1)下载Docker

在Docker官网上下载Docker Desktop并安装。打开Docker Desktop并等待初始化完毕。

(2)下载镜像

在终端中运行如下命令

docker pull IMAGE:TAG

其中IMAGE为镜像名称,TAG一般为镜像的版本,比如下载Python3.6.10的镜像可运行以下命令。

docker pull Python:3.6.10

(3)启动容器

为了方便开发和调试,一般需要进行端口映射和挂载路径。
端口映射主要是希望能在本机访问虚拟环境的服务,比如在虚拟环境中,web开发需要在80端口进行调试,那么可以将本机8080端口映射到虚拟环境的80端口上,这样就可以通过127.0.0.1:8080访问虚拟环境的80端口服务了。其配置方法为:在启动容器时加入参数-p 8080:80,可以添加多个-p参数以达到多端口映射的目的。
挂载路径主要是方便文件共享,比如我们需要虚拟环境能够直接访问本机/User/Documents/Docker这个目录,那么我们可以将该目录挂载到虚拟环境中,比如挂载到/mnt/document上可以通过添加参数 -v /User/Documents/Docker:/mnt/document,同样可以添加多个-v参数以挂载多个目录。挂载完成后,虚拟机的/mnt/document目录和本机/User/Documents/Docker目录实际上为同一物理路径,所有操作都可以同步。
以下为启动容器的示范命令,详细可参阅Docker官方文档

docker run -itd --name python-data -p 8080:80 -v /User/Documents/Docker:/mnt/document Python:3.6.10 /bin/bash

如果需要在启动Docker服务的时候自动启动该容器可以用以下命令:

docker update --restart=always python-data

如果后期需要修改端口映射或者挂载路径可以参考另一片文章:Docker修改容器的端口映射和挂载路径

(4)配置容器

启动容器后可使用以下命令进入容器的终端,对容器进行配置,比如用pip安装一些Lib。(注:推荐使用Dockerfile,本文不涉及该内容,请读者参阅其他资料)

docker attach python-data

二、VSCode配置

(1)下载VScode

在VSCode官网上下载VSCode并安装。

(2)安装插件

搜索并安装Docker插件和Remote Development扩展包。
Docker插件
Remote Development扩展包

(3)远程连接

通过右侧菜单栏进入Docker插件的页面,右击需要连接的容器(需要先启动容器),选择Attach Visual Studio Code即可进入开发环境。建议在挂载路径中进行开发,这样可以文件共享,很方便。
连接容器

posted @ 2021-01-23 14:14  Mr_Purity  阅读(4622)  评论(0)    收藏  举报