客服

PyCharm 使用矩池云机器教程

如何使用 PyCharm 远程连接矩池云主机

如果您使用 PyCharm、VSCode 等 IDE 工具进行编程,可以通过 SSH 功能,远程使用矩池云的开发环境,为您提供更快更便捷的 GPU 服务哦。
本教程将以 PyCharm 为例,向您讲解如何使用矩池云机器环境。

使用前必读

  • 请确保您的 Pycharm 为有 SSH 远程功能的专业版。社区版无远程功能。
  • Pycharm 只适合于调试代码。若要进行长时间的训练,请使用 SSH,配合 tmuxnohup命令进行,否则训练可能因网络问题或您自行关闭 Pycharm 而中断。
  • Pycharm 不适合进行数据集的传输。选择项目时,建议只同步要调试的脚本,不要同步数据集。
  • 请您注意,PyCharm 为 Jetbrains 开发的工具,矩池云仅提供接入矩池云的使用教程,IDE 本身的使用问题请联系 PyCharm 官方。
本教程中使用的为 PyCharm 2019.3.1(Professional Edition) 版。
PyCharm
首先,您需要租用一台矩池云的 GPU。
矩池云租用教程请移步 矩池云租用教程
矩池云提供网盘存储服务,您可先将数据集和脚本文件打包上传至网盘,提高上传速度,还能节省费用。
在租用了矩池云 GPU 机器后,您需要在 PyCharm 环境中进行配置以使用矩池云 GPU。
具体操作请参考:自行设置远程链接

新建 PyCharm 项目

如果您已经有本地项目,请先将数据集通过网盘上传至矩池云,在打开的本地项目中仅保留要调试的脚本即可。
例如您的项目为 Dogs_and_cats,项目下有一个 datasets 的数据集目录,和一个 code 的脚本目录。那么打开项目时,仅选择 code 目录即可。datasets 请通过网盘上传。
打开 PyCharm ,新建一个 Python 项目。
新建项目
点击 Create ,创建项目。
创建成功
在项目文件夹上点击右键,新建一个 Python 文件。
新建文件
给 Python 文件起一个名字,例如 test,回车。
命名
在文件中,打一个简单的命令。
python
print("Hello world!")
Hello World!
至此,我们创建了一个简单项目。

自行设置远程连接

1. 修改 Python 解释器路径

Windows 系统,点击右上角 File - Setting。
Setting
如果是 Mac 系统,点击 Pycharm - Preferences。
Preferences
点击 Project - Project Interpreter 展开,点击后面的设置按钮,选 Add,添加新的 Python 解释器。
Add
在新打开的窗口中,选择 SSH Interpreter。若 PyCharm 版本不一致,需要您选择协议的,请选 SSH 协议。
填写配置信息
这里需要填写您租用 GPU 机器的 HOST、端口号和用户名。
HOST(主机名):hz.matpool.com 或 hz-t2.matpool.com,请以您 SSH 中给定的域名为准。
Port(端口):矩池云租用记录里 SSH 连接里 -p 后的几位数字,例如 42799,通常是五位数
Username(用户名):root
点击 Next 进入下一步,会有一个远程连接提示,点击 Yes。
远程连接提示
下一步进行授权。在 Password 中填写租用时自定义服务器密码。
输入密码
下一步填写远程解释器的路径,
/root/miniconda3/envs/myconda/bin/python
若您选择的是 Python2.7_多框架,则镜像路径是:/root/anaconda3/envs/myconda/bin/python
请注意,您还需要修改下面的文件夹路径。PyCharm 的默认路径是 /tmp/PyCharm_project_***,矩池云建议您将其修改到 /mnt 目录下。
因为 /mnt 是默认的网盘挂载目录,网盘不会随着机器释放而清空,可长期保存。
修改存储路径
点击文件夹按钮,可修改远程同步文件夹路径。在弹出的窗口中,您可以直接输入,将 Remote Path 修改为 /mnt/PyCharm_Project_1
也可以点击右侧文件夹按钮,手动选择文件夹。该列表为矩池云 GPU 机器上的文件目录,建议您选择 /mnt
选文件夹
点击 OK ,回到解释器修改页面。点击 Finish 。添加完成后点击 OK 保存。
OK

2. 运行文件

可以在下方的 File Transfer 中看到,文件已经同步到了服务器目录下。
传输成功
配置后,Pycharm 会自动同步一些工具到远程服务器,会需要一段时间,请耐心等待。
检查远程工具
如果在同步完成之前运行文件,可能会运行出错。您可以点击 Pycharm 底部查看报错原因。
运行出错
右键文件名,待部署完成后,可以点击 Run 运行该文件。
运行文件
在下方可以看到运行后的结果。
运行结果
如果你发现文件没有上传,可能是因为页面太久没有操作了,此时可以选择 Tools - Deployment - Upload to,手动同步文件。
同步文件
同步以后,文件传输 Tab 会提示,文件已经传输完成。
如果你遇到了 Checking Remote Helpers 的报错,
Checking Remote Helpers
或者在运行时,提示里使用了 pydevconsole,因为 helpers 没有同步完成报错,
pydevconsole
可以点击右上角的运行文件名,右键打开 Edit Configurations,
null
将 Run with Python Console 的勾取消,重新运行即可。
null

3. 下载远程文件

如果您之前有在矩池云网盘或机器上保存文件,可以下载到本地使用 PyCharm 进行编辑。
先新建一个项目,取名叫 DownloadProject
点击 Tools-Deployment-Configuration。
修改配置
点击 Mappings 选项卡。点击 Deployment path 右侧的按钮,选择需下载的远程项目。
Mapping
选中想要下载的目录,点击 OK 。
远程目录
设置成功后,点击 Tools - Deployment - Download from 。
Download
会自动下载同步文件夹里的内容。
下载成功
可以看到下载日志,左侧项目中,远程的项目已经下载到了新建的本地项目中。
点击可查看文件。您可以开始在本地进行编写和运行。
查看文件

4. 修改配置文件

若您再次租用了一台矩池云机器,机器和端口发生了变化,而 Pycharm 中的项目不变时,那么只要修改 Pycharm 的配置即可继续使用。
点击 Tools ,选择 Deployment - Configuration
选择Configuration
修改 HOST 和 PORT 为您新租用机器的主机名和端口号即可。Root Path 保持为空即可,不要自动填充,可能会导致同步路径出错。
修改主机名端口
为了避免混淆,您可修改该链接名称为矩池云,以便下次使用。右键点击左侧列表中的 hz.matpool.com,选择 rename,重命名为矩池云。
重命名

使用远程终端

若您想要在 PyCharm 中远程执行 bash 命令,可通过 PyCharm 的 Terminal 工具进行操作。
Terminal 默认连接本地,您可以点击 Tools - Start SSH session ,连接远程服务器。
Start SSH session
点击后会出现一个小框,选择 matpool.com 的远程服务。
选择远程服务器
选择后,PyCharm 下方会新创建一个与矩池云机器连接的 Terminal,您可在该 Terminal 中运行 bash 命令。
打开 Terminal
如果想要运行文件的,请确认您同步的时候选择的同步目录,需要进入到该目录执行。
选文件夹
在上面这个例子中,选择了远程同步目录为 /mnt/pycharm_project_1,则您要想运行文件时,请先用命令 cd /mnt/pycharm_project_1 进入目录,再使用 python XX.py 命令运行脚本。

使用 Jupyter 工具

注意: 本操作以 Pycharm Professional 2021.3 为例。
若您的文件为 ipynb 格式文件,则在 2021.3 下,Pycharm 会自动以 Jupyter 样式打开。
但是此时尚未配置 Jupyter Server,还不能运行。需要先进行配置。
Jupyter样式
进入矩池云租用列表,复制您的机器的 Jupyter 链接。
复制 Jupyter 链接
点击此处 Configure Jupyter Server,打开配置窗口。
配置 Jupyter Server
点击第二个 Configured Server。然后将刚刚复制的 Jupyter 链接填入这里。
添加配置
填写完成后,先点击右下角 Apply,然后再点击 OK。此时配置成功。
配置成功
回到 ipynb 文件的页面,右上角已经显示了我们刚刚配置的 Jupyter Server。此时点击 Jupyter 的 Run 或者 Run All 按钮,可以运行。
Run
注意:
  • 点击 Restart Kernel 按钮后可能导致报错,重启 Pycharm 可以解决此 BUG。
Restart 报错
  • Pycharm 的远程 Jupyter 暂不支持 Debug。
Debug is unavailable for remote jupyter server
如遇问题请及时联系客服处理。