PyCharm配置远程解释器

2022-03-31 15:23:28 浏览数 (1)

概述

因为之前公司服务器的硬盘出现损坏,导致服务器不能使用,也把我的Jupyter Notebook里的东西全部销毁了。之前那些代码和数据都找不回来了,郁闷了几天。因为自己平时都会做一些技术研究,写写一些demo,为了方便,公司和家里的电脑,都尽量共用一个环境。特别是Python这个,那些库的版本,感觉很乱,没有统一好,而且版本之间的差异性还是比较大。最近想起,PyCharm是可以支持配置远程python环境,也就是远程解释器。以前自己都想配置的,在网上搜了一下,看了一些博客,感觉好麻烦,最后就放弃了。

这次没办法,只能尝试配置一下,这样不管在公司还是家里,都可以共用一个远程环境。到时代码那些,就用github来管理。

配置过程

先打开“PyCharm”,并打开File-->Settings

选择Project:ChToKorean-->Python Interpreter

在那个配置按钮里,选择添加新的解释器(Interpreter)

然后选择“SSH Interpreter”

接着就可以在右侧这里输入Host、Port、Username等信息。

然后“Next”:

然后“Yes”:

输入对应的SSH密码:

接着“Next”,出现以下界面后,再进入远程服务器那里,选择python解释器。

从这里可以看到我们远程服务器的目录。

我们选择我们自己已安装好的python环境,因为我是anaconda安装的,所以进入anaconda的目录。

接着点击“OK”:

接着点击“Finish”:

最后点击“OK”,配置完成。

验证

配置完成之后,我们验证一下,是否已经配置成功。

我们再PyCharm新创建一个Project,File-->New Project

从这个界面可以看到,我们可以选择不同的解释器(Interpreter):

从这里就可以看到,我们可以选择的解释器(Interpreter):

我们就选择刚刚配置好的远程解释器。

我们运行看看:

从这里可以看出,PyCharm会自动去调远程解释器。

其实,这里的原理是,PyCharm把我们本地的代码上传到远程服务器那里进行运行,细心的朋友,应该会留意到,我们创建项目的时候,选择解释器的时候,是有个远程路径的,因为我自己选用的默认了,按道理应该可以让大家自定义。

配置支持anaconda其它kernel

因为我自己弄的是anaconda,而且为了防止项目的库版本冲突,我自己习惯了一个项目,一个环境(kernel)。前面我们配置的是anaconda的默认python环境,我们可以现在控制台看看这个python版本信息。

代码如下:

代码语言:javascript复制
import sys


def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl F8 to toggle the breakpoint.




# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    print_hi('PyCharm')
    print(sys.version)

运行结果:

代码语言:javascript复制
Hi, PyCharm
3.7.6 (default, Jan  8 2020, 19:59:22) 
[GCC 7.3.0]

为了区别,我在这个代码加上TensorFlow的代码,看看能不能执行成功。按道理是不能执行成功的,因为我没有在这个python环境里添加TensorFlow相关的库。

增加以下代码:

代码语言:javascript复制
import sys
import tensorflow as tf


def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl F8 to toggle the breakpoint.




# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    print_hi('PyCharm')
    print(sys.version)
    print(tf.__version__)

从PyCharm界面来看,都已经提示错误,提示没有这个库,不能导入。

运行之后,也可以看出有报错。

我自己已在远程服务器里新建了一个python环境(kernel),如何用anaconda创建多个python环境,大家可以查看我相关的博客内容,里面有详细过程。我新创建的python环境里,是已经添加了TensorFlow的库,我们现在试试把PyCharm的解释器换到这个环境。

我们还是从之前的界面里配置。File-->Settings

填入对应的服务器信息:

当进入以下界面时,我们要选择对应的虚拟环境路径。

我们直接到anaconda里找,在envs目录里,找到我们之前配置的kernel名字,我这里的名字叫做“my_py37”,然后进入这个目录找到python解释器。

然后就点击“OK”,后续保存即可。

我们重新回到代码编辑界面,可以发现,代码编辑区,没有报错提示,证明TensorFlow库已经导入进来,也证明的我们已经成功切换到不同的python环境。

那我们运行一下,看看是否真的成功了。

代码语言:javascript复制
Hi, PyCharm
3.7.11 (default, Jul 27 2021, 14:32:16) 
[GCC 7.5.0]
2.0.0

因此,我们已经成功切换到有TensorFlow库的python环境,而且是通过anaconda方式创建的虚拟环境(kernel),那我们以后用起来就很方便了。

0 人点赞