首先,只有专业版pycharm能够实现远程开发与调试、社区版无法实现,查看pycharm版本,点击 Help ->About,如下图:
查看结果如下,我的pycharm是专业版的,所示版本信息为Professional。
1、打开PyCharm 工具, 点击 Tools -> Deployment -> configuration,如下图:
2、在新窗口新建远程服务器连接,在左上角点击 + 号,如下图:
FTP、FTPS、SFTP:为与远程连接的方式,一般情况下我们都是选SFTP连接方式。
New server Name: 是你本地与远程连接的名字,可根据需要自定义,如 demo
3、配置远程服务器的连接信息,如下图:
3.1 设置远程连接信息
Type: 与远程服务器的连接类型,SFTP
host:远程Linux服务器ip地址(可点击Test Connection 以测试远程连接是否成功)
Port:端口(默认端口号为22,不用修改)
Root path:远程服务器上要调试项目所在位置的目录,这里的路径可以根据自己需要设定,如我在这里将该路径设置为/home/lyz/Desktop/demo,我们将仅能看到/home/lyz/Desktop/demo目录下的子目录。建议将该路径设置为自己的项目目录,方便代码查找和定位。
User name:远程服务器用户名
Password:该用户的远程登录密码,建议勾选 Save Password,省去每次同步代码时输入密码。
注意:将Visible only for this project 这句前面的√去掉,否则无法调用远程服务器上的解释器进行代码调试。
3.2 设置本地和远程服务器项目目录
Local path:本地项目所在目录,如 /home/python/Desktop/New_VideoFramework
Deployment path on server:远程服务器上项目所在目录。这里的目录是相对于上一步设置的Root path而言的,如上一步我将Root path设为/home/lyz/Desktop/demo,那么点击该栏的选择按钮后,仅能看到远程服务器/home/lyz/Desktop/demo目录下的内容,我远程服务器上/home/lyz/Desktop/demo目录下仅有New_VideoFramework_remote文件夹,这里我就选择该文件夹作为远程代码存放目录。
Web path on server:web路径暂时不需要设置,保持默认。
4、经过上面步骤的配置后,我们便可以通过PyCharm 将本地项目推送到远程服务器上,实现代码同步。
点击Tools -> Deployment -> Upload to demo,如下图:
这样就可以将本地代码推送到远程服务器上了。不过注意,如上图左侧所示,我当前选中的是我本地的整个项目,所以我本次将整个项目推送到了远程,假如选中manage.py文件,仅将manage.py文件推送到远程。
具体推送情况可在pycharm最下方的File Transfer栏查看,如下图:
同时,也可直接右击文件名或目录名,点击Tools -> Deployment 后,根据需要选择推送、下载、或查找本地项目与远程项目的不同之处等。
如上图所示,我选择sync with Deployed to demo 便可查找出我本地代码与远程服务器上代码的不同之处,并在界面中展示。这样我们就可以根据需要选择上传、下载、合并等按钮,更新代码。
点击File -> Settings->project Interpreter后,选择Add菜单,根据需要添加远程服务器上的解释器。如下图所示:
选择SSH Interpreter,填写相应内容
host:远程Linux服务器ip地址
Port:端口(默认端口号为22,不用修改)
User name:远程Linux服务器用户名
Password:该用户的登录密码
点击Interpreter栏最右边的文件选择图标,根据需要选择远程服务器上的解释器
点击Sync floders栏最右边的文件选择图标,选择本地代码和远程服务器上相对应代码的路径,注意:勾选Automatically upload project files to server后,将自动上传本地服务器代码到远程服务器,但是上传代码只检测是否有同名文件,假如本地服务器与远程服务器有同名文件,但内容不同,便不会自动上传更新。
配置完成后,我们就可以通过pycharm来实现远程代码调试了,运行结果如下图所示,我们可以看出,python解释器和所运行的代码,都是远程服务器上的。