【Linux服务器】Pycharm远程连接服务器的注意事项
创建虚拟环境
- 创建环境代码如下,注意创建环境前需要先正确安装conda。
// 创建一个名字为env_py37,python版本为3.7的conda环境
$ conda create -n env_py37 python=3.7
// --prefix参数用来指定环境的路径
$ conda create --prefix==/home/usr/.conda/env/env_py37 python=3.7
- 创建好环境后先使用conda activate命令激活环境,然后才能用pip install或conda install进行包的安装,安装包时注意要与cuda和python的版本匹配,下面的代码临时用阿里源进行了gpu版本的tensorflow的安装。
$ conda activate env_py37
$ pip install -i https://mirrors.aliyun.com/pypi/simple/ tensorflow-gpu==2.5.0
pycharm连接服务器
- 配置sftp。首先需要配置sftp实现本地和服务器的连接和映射,具体流程如下:
- 打开pycharm项目,选择Tool -> Deployment -> Configuration
- 新建sftp配置后随便取一个名字,然后在右边设置ssh远程连接
- 将本地和服务器做文件映射,Local path是本地的代码项目地址,Deployment path是服务器上存储代码的地址,设置好后本地代码将上传到服务器对应的位置,Web path写一个/就行
- 配置解释器。第一步仅仅完成了代码映射,使用服务器跑代码还需要配置远程解释器。
- 在Pycharm工具栏选择:File -> settings -> Project: name -> Project interpreter,点击右上角的系统符号,选择Add
- 选择SSH解释器,输入远程服务器地址和服务器的用户名,配置正确的端口,点击下一步
- 配置映射和解释器。解释器路径为第一步创建的虚拟环境的bin文件下的python.exe
上传代码运行
选上总是自动上传,这样每次代码更新都会自动跟服务器同步,如果没有来得及同步,可以选第一个Upload to进行手动更新,也可以使用Download from将服务器上的代码下载下来。
注意事项
- 事实上可以跳过配置sftp文件这一步,因为在配置解释器时最后也会进行映射的配置,配置好后会自动生成一个sftp配置文件,在Deployment的configuration中可以看到生成的文件,为了方便区分可以对其进行重命名。另外可以查看解释器具体使用的哪个sftp配置文件。
配置解释器那里点击系统符号,然后这次不选add选show all,获取所有的解释器,然后选择我们的远程解释器,点击右边的画笔,弹出的框内会显示使用的sftp配置文件。
- 如果想换一个解释器,需要删除原来的Configuration,不然无法更新。
Edit Configuration,将左边的四个原有的运行文件删除,更换完解释器后重新运行。
- 服务器上的同一个解释器可以被pycharm的多个项目使用,打开第二个项目,同样进入 File -> Settings -> Project:xxx -> Project Interpreter,选择“Add”按钮,但是这次选择“Existing interpreter”,在弹出的窗口中选择第一个项目中配置好的远程环境。另外还要注意配置map映射,第二个项目和第一个项目不能放在一个文件夹。