Windows使用PyCharm远程连接Linux的python环境

温馨提示:点击页面下方以展开或折叠目录

摘要:由于开发需要,本地使用IDE编写代码时可能要求不同的Python环境,虚拟环境有时也不是最佳选项,如何在本地pycharm中直接连接远程服务器环境呢?

文章说明
文章来源:鴻塵
文章作者:鴻塵
原文链接:https://hwame.top/20200525/pycharm-connect-linux-from-windows.html

1.背景

Linux服务器集群搭建在虚拟机中,阿里云服务器配置也很低,所以都没有安装GUI图形界面,要想使项目跑在Linux集群上,必须先将项目代码打包上传,然后才能运行。但是存在以下问题:

  • 由于硬件和经济的限制,Linux虚拟机和阿里云服务器的配置都不高,没有安装图形界面,更别说IDE了
  • 而且由于Windows和Linux本身的区别,开发调试过程中会出现不可预料的问题
  • Windows打包上传、Linux运行测试,流程繁琐,效率低下

因此,如果能直接在Windows的IDE中使用Linux环境,问题就会迎刃而解。
注意:可能因为PyCharm专业版和社区免费版的原因而无法使用,本文使用的是PyCharm 2019.1 (Professional Edition)

2.操作步骤

  1. 虚拟机开机。
  2. PyCharm中新建或打开一个项目,点击“File”→“Settings”,展开至“Project: xxx”→“Project Interpreter”,可以看到所有可用的编译器以及安装的第三方库,如图所示。其中Project Interpreter为当前项目的编译器,Path mappings为当前项目路径的映射,亦即本地Windows文件与远程Linux文件的路径对应关系。并且可以有多个映射。
    可用编译器以及安装的第三方库
  3. 在配置之前只有本地的python环境和虚拟环境,当连接远程服务器后才有Linux的python环境。
  4. 点击Project Interpreter右边的设置按钮,选择Add添加Python Interpreter,可以看到能配置的编译器共有9种,我们选择SSH Interpreter,填写主机IP和用户名,如图所示。
    SSH-Interpreter
  5. 认证方式可以选择密码或密钥对。填写正确密码或者选择密钥文件后点击next。
    密码或密钥的认证方式
  6. 设置python编译器及项目文件夹映射,Interpreter选择需要使用的位于服务器上的python编译器,Sync folders为本地项目路径与远程项目路径的映射关系。详细设置及含义见后文,如图所示。
    python-Interpreter
  7. 点击完成即可看到添加好的Interpreter。点击Project Interpreter右边的设置按钮,选择Show All...即可查看所有可用编译器,如图所示。
    可用编译器
  8. 选择需要的Interpreter,点击Apply即可愉快的开发了。

3.设置python编译器及项目路径映射

🌸pytho编译器

服务器上运行如下命令以查看pytho编译器的位置,选择需要的:

1
2
3
4
5
6
7
8
which python
# /usr/bin/python

which python3
# /usr/bin/python3

which python2
# /usr/bin/python2

注意:/usr/bin/python本身也是一个软连接,指向了实际的python可执行文件路径。
注意:`如果需要使用虚拟环境,则需具体到虚拟环境位置及对应的可执行文件。

1
2
3
4
5
6
# 查看python可执行文件路径
ls -lh /usr/bin | grep python

# 由图可以看到:
# python → python3 → python3.6
# python2 → python2.7

linux的python可执行文件路径
因此,只要保证能指向正确的可执行文件即可。

🌸项目路径映射

Sync folders中的<Project root>为本地项目的根路径,箭头右边为远程项目路径,默认为/tmp/pycharm_project_xxx,点击“右侧文件夹图标”可进行修改,如图所示。
path-mapping
注意:可添加多对映射。

🌸文件自动上传服务器

设置好python编译器和项目路径映射后,勾选“自动上传项目文件至服务器(Automatically upload project files to the server)”。
当本地文件有变更时,只要有保存操作就能自动上传服务器,如图所示。
文件自动上传

🌸关于部署配置

当配置完远程python编译器后,就默认创建了部署环境,在Event Log中可以看到14:35 Deployment configuration to 39.xxx.xxx.xxx has been created.
点击“File”→“Settings”,展开至“Build, Execution, Deployment”→“Deployment”,可以看到已自动设置好部署环境,可以自行修改或删除。

4.运行和调试

运行和调试时,PyCharm会自动ssh连接然后运行:

1
2
3
4
ssh://root@192.168.xx.xx:22/bin/python -u /tmp/pycharm_project_xxx/test.py
******

Process finished with exit code 0