FIELD NOTE
wsl2+docker+vscode实现定制化Python开发环境
最近在学习pycorrector这个库。但是在环境搭建时遇到了问题,其中使用的kenlm需要在linux环境下编译安装,如果是windows则需要安装windows的编译环境。不想折腾vs那套的情况下,尝试使用wsl2+docker方式搭建学习环境。
首先使用ubuntu:24.04作为基础镜像,安装python以及gcc搭建基础环境,然后再安装pycorrector以及依赖包。
# 拉取镜像
docker pull ubuntu:24.04
# 启动容器
docker run -d --name dev --net=host -v ./:/workspace -w /workspace ubuntu:24.04 sleep infinity
# 启动完成后进入容器(略)
# 在容器中安装开发工具
apt update && apt install -y build-essential gdb valgrind cmake git vim
# 在容器中安装miniconda(略)
# 将当前容器提交为镜像,方便后面使用
docker commit dev dev:v1-cpp-python
# 基于新的镜像重新启动一个容器,然后安装需要的依赖包
完成上述步骤后,可以在容器中执行python脚本,但是当需要调试代码时只能print大法,还是不太方便,此时尝试通过vscode的远程开发能力实现代码的可视化调试。从网上的教程看,需要安装docker desktop才能实现,但是我并不想安装,觉得太重了。于是继续尝试。
首先使用Remote Development的WSL连接到wsl2环境,然后按下ctrl+shift+p呼出命令菜单,选择附加到运行中的容器(如下图)。

此时由于docker命令需要root权限,所以会执行失败,需要设置docker不需要root权限就能运行。执行以下两行代码搞定。
sudo groupadd docker
sudo usermod -aG docker $USER
评论