惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
Y
Y Combinator Blog
I
InfoQ
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - Franky
IT之家
IT之家
H
Help Net Security
月光博客
月光博客
S
SegmentFault 最新的问题
B
Blog
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Vercel News
Vercel News
博客园 - 叶小钗
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
Jina AI
Jina AI
T
The Blog of Author Tim Ferriss

二叉树的博客

科研与小团队 GPU 共享容器完整方案:从零搭建 OneClickVirt 管理平台并通过 Agent 模式纳管内网 GPU 节点 Ray 支持昇腾 NPU 的 KubeRay 对接记录 openEuler 22.03 arm64 离线包适配记录 在线 IDE 的通用容器镜像打包流程 麒麟 V10 安装时配置本地源 BKE 与 BMP 部署排障流程 containerd 允许 HTTP 镜像仓库拉取 Red Hat 8 amd64 离线依赖适配记录 通用docker容器镜像打包应用的流程 kubevirt初体验 kubevirt初体验 魔改dockur制作可迁移的Windows镜像(单文件) 魔改dockur制作可迁移的Windows镜像(单文件) 通过dockur制作可迁移的Windows镜像(双文件) 通过ProxmoxVE制作kubevirt可用的Windows镜像 通过dockur制作可迁移的Windows镜像(双文件) 通过ProxmoxVE制作kubevirt可用的Windows镜像 基于docker的在线IDE制作(支持浏览器直接访问) 基于docker的在线IDE制作(支持浏览器直接访问) k8s日常问题排障 k8s日常问题排障 jetbrains家的goland项目可用但老爆红 jetbrains家的goland项目可用但老爆红 机房本地服务器自建Gitea并使用 机房本地服务器自建Gitea并使用 nvidia-smi被自动升级无法与GPU通信了怎么办 conda使用GPU时的一些陷阱 给机房的LXD容器配置跳板机进行连接 给机房的Ubuntu22.04安装LXD共享GPU资源 给机房的Ubuntu22.04的Linux进行内穿映射端口
在Pycharm上连接远程虚拟环境进行使用
二叉树上的我 · 2024-05-14 · via 二叉树的博客

前言

相信通过前面教程,大部分问题都解决了,目前就剩一个Pycharm怎么连接远程的LXC容器运行Python项目的问题了。

(为什么不用VSCODE?因为它没有官方支持的远程开发/SSH开发的功能,只有相关的第三方插件实现了类似的功能但并不好用,所以我选择了Pycharm)

(还有一个原因是我有开源证书,所以Pycharm专业版可以免费使用)

步骤

  1. 打开Pycharm,点击菜单栏的File,选择Settings

  2. 在弹出的窗口中,选择Project:xxx,然后选择Project Interpreter,然后选择Add Interpreter,在下拉窗口中选择On SSH

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-19-46.png

  1. 按照下面的图示填写信息即可

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-20-53.png

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-21-11.png

  1. 下面这一步得等一会,它要测试远程连接和环境

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-21-53.png

  1. 这里一定要选择Existing,点那三个点自己增加已有的conda解释器,而不是pycharm导入解释器或者是容器本地的解释器,我需要使用虚拟环境。

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-27-24.png

  1. 这里输入conda虚拟环境解释器的路径,在容器内可使用以下命令查询
1
2
(base) root@user2:~# command -v python
/root/miniconda3/bin/python

我在base环境中查询到解释器路径是/root/miniconda3/bin/python,如果你也是使用 https://www.spiritysdx.top/20240513/ 配置的LXD多用户容器,那么路径应该和我一致。

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-28-02.png

  1. 这里是修改远程容器保存项目代码的路径,我选择保存在容器内的/root/item1文件夹里,你可以自行修改。

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-28-30.png

  1. 全部OK点击完毕后,在解释器选择页面会看到类似如下的输出。

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-29-40.png

  1. 如果想要每次启动Pycharm自动登录到容器,那么需要在这里配置记住密码,每次打开Pycharm自动登录SSH。

建议参考: https://blog.csdn.net/pianchengxiaobai/article/details/136660228

(由于我的Pycharm是开源证书的专业版,所以有该功能,社区版本未尝试不知道有没有)

  1. 配置完毕后在这里进入容器的SSH界面/Conda的Python界面,你可以在SSH上面执行ls查看是不是有你之前映射的项目文件夹。

https://raw.githubusercontent.com/spiritysdx/images/main/20240513/image_2024-05-14_16-42-11.png

我的执行结果是

1
2
3
Last login: Tue May 14 07:56:28 2024 from 127.0.0.1
(base) root@user2:~# ls
item1  miniconda3  Miniconda3-latest-Linux-x86_64.sh  nezha.sh  NVIDIA-Linux-x86_64-535.171.04.run  sharefile  snap

确实有item1这个文件夹了。

后言

注意这里的连接速度受跳板机到机房宿主机的网络的影响,国内机房的宿主机开设的LXD多用户容器务必使用境内/香港服务器做跳板机,否则你的网络延迟会非常大,无法使用。

本人推荐使用腾讯云的境内服务器跳转,阿里云跳转的同价位的服务器CPU会比较弱一些,在多用户使用的时候可能出现CPU占用过高的情况。

(北京/上海/广州比较好,香港也还行,这些地方有骨干网的POP点,延迟会低一些)

下一篇讲解如何给机房的LXD容器配置跳板机进行连接。