docker连接wind10本地pycharm pro

docker连接wind10本地pycharm pro,第1张

docker连接wind10本地pycharm pro 问题

最近使用xemsf包库[xemsf]处理nc文件的气象数据,发现它没有Windows版本,只能在Linux和macOS平台使用,于是只能曲线救国,使用wind10自带的虚拟机安装docker,并在docker中安装miniconda,然后将docker连接到Pycharm Pro (version:2021.3)。


docker可以看作是轻量级的虚拟机,它包含了你创建好的系统配置(包括各种应用),可以方便地分享而免去其他人再次配置环境的繁琐步骤,更多docker介绍请参考文章【1】。


方法

(1) 先激活wind10自带的虚拟机Hyper-v。


(2)下载docker desktop,注册docker账号,安装, 并按下图设置勾选红框项:

(3)pull一个现成的image–miniconda3并运行它的一个实例容器:

docker pull continuumio/miniconda3
docker run -i -t continuumio/miniconda3 /bin/bash

然后,在docker账号中创建自己的repository,如本人创建的为liangchangmao/wyj_1。


在conda容器中创建新的虚拟Python环境,安装xemsf。


接着打开新的命令终端,上传commit这个变更了的容器到自己的repository中成为一个新的image:

docker commit changed_container_id liangchangmao/wyj_1

PS:查看正在运行的容器可以得知容器的id:

docker ps -a -f status=running

然后仿照(3)运行这个更改后的image的一个实例容器

(4) 连接到专业版的pycharm(社区版的pycharm不支持docker)。



file–settings–Build, Excution, Deployment–Docker ,填写(2)中的docker参数:

然后,在运行容器的命令终端中查看Python路径:

which python

得到具体路径并填入pycharm中,如下图红框处:

此时即可成功连接docker的conda里的Python环境(需要保证docker desktop打开而不必进入image的容器container),若再conda环境中安装了新的包库则需要提交commit新的image到云端的repository,如下图所示dask不能成功导入:

提交commit新的image:

重新运行,成功导入dask:

(5)退出docker:

exit

或者直接组合键Ctrl+P+Q,最好不要直接关闭终端,否则再次启动docker容易出错。


补充

首次安装docker运行后发现电脑变卡,这是因为虚拟机进程vmmen占用了将近八成的电脑内存,故有必要重新设置虚拟机的内存分配,限制它的性能从而达到优化目的。


参考博文【2】,先win+R输入%UserProfile%进入用户文件夹,创建一个文本文件输入一下内容:

[wsl2]
memory=4GB
swap=8GB
localhostForwarding=true

保存文件,并重命名为.wslconfig,并在命令行终端运行

wsl .wslconfig

重启docker即可。


参考

【1】了解docker基本概念:https://towardsdatascience.com/how-docker-can-help-you-become-a-more-effective-data-scientist-7fc048ef91d5
【2】配置wind10虚拟机Linux的内存:https://www.cnblogs.com/q1359720840/p/14198460.html
【3】docker中的conda环境连接到pycharm:https://stackoverflow.com/questions/52049202/how-to-use-docker-and-conda-in-pycharm

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/568031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存