使用 PyCharm 和 FTP 搭建 Python 远程开发环境

二叶草 2020年3月20日20:44:20ftp工具评论阅读模式

有时我们会碰到在远程服务器上进行开发的情况,比如小程序的服务端的编写等。本文介绍下如何使用 PyCharm 和 FTP 搭建 Python 远程开发环境。

腾讯云主机初始化

服务器上操作

(1)设置 root 密码

  1. $ sudo passwd root

(2)允许 root 登录

  1. $ sudo vi /etc/ssh/sshd_config

将 PermitRootLogin 值置为 yes

(3)重启 ssh 服务

  1. $ sudo service ssh restart

免密登录

本地操作

(1)添加公钥到服务器

首先确认下本地有没有公钥、私钥对,没有的话,先生成

  1. $ ssh-keygen

密钥默认会保存在 ~/.ssh 目录下。然后添加公钥到服务器

  1. $ ssh-copy-id root@server_ip

后面登录就不用密码了,ssh 直接通过

  1. $ ssh root@server_ip

(2)别名登录

文件 ~/.ssh/config 末尾添加

  1. Host tencent_server
  2. hostname server_ip
  3. User root
  4. IdentitiesOnly yes

保存后使用别名就可以登录了

  1. $ ssh tencent_server

服务器 Python 环境搭建

安装 Pipenv

如果系统已经有了 pip,我们将 pipenv 安装至我们的用户目录

  1. # pip install --user pipenv

查看用户基础目录

  1. # python -m site --user-base
  2. /root/.local

pipenv 安装后就在 /root/.local/bin 目录下,将其添加到 Path 中,打开 /root/.bashrc,在最后添加

  1. export PATH=$PATH:/root/.local/bin

让配置生效

  1. # source /root/.bashrc

测试一下 pipenv 是否能找到

  1. # pipenv --version
  2. pipenv, version 2018.11.26

如果你的系统没有 pip 的话,可以先安装,再进行上面的操作

  1. # apt intall python-pip

当然,还有更简单粗暴的方式

  1. # curl https://raw.githubusercontent.com/kennethreitz/pipenv/master/get-pipenv.py | python

至于常用的命令,你可以去看看官方文档,也可以看下我之前的文章《Pipenv 快速上手》,里面列了些基础的使用方式,前期使用足够了。

Pyenv 安装

如果没有安装 Pyenv,当我们使用 Pipenv 创建未安装的版本的 Python 环境 的时候,会创建失败。比如,如果系统只有 2.7.12 的 Python,我们在当前目录创建一个 Python 3.6.0 的虚拟环境

  1. # pipenv --python 3.6.0

会提示找不到 3.6.0 的 Python。

如果安装了 Pyenv 的话,会提示你使用 Pyenv 进行创建。

  1. Warning: Python 3.6.0 was not found on your system...
  2. Would you like us to install CPython 3.6.0 with pyenv? [Y/n]:

进入正题,安装 Pyenv

  1. # curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

打开 ~/.bashrc,在最后添加

  1. export PATH="/root/.pyenv/bin:$PATH"
  2. eval "$(pyenv init -)"
  3. eval "$(pyenv virtualenv-init -)"

让配置生效

  1. # source ~/.bashrc

为了能让 Pipenv 直接使用我们需要的 Python 版本,我们可以使用 Pyenv 直接安装

  1. # pyenv install 3.6.0

如果构建出错,一般是基础工具不全的问题,使用下面命令进行安装,然后再试一次就行了

  1. # apt install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev

当然,你也可以不用自己提前安装,根据 Pipenv 的提示操作就行。

FTP 服务搭建

连接到服务器

(1)更新软件源

  1. # apt update

(2)安装 vsftpd

  1. # apt install vsftpd -y

(3)添加 FTP 用户

确定 nologin 位置

  1. # whereis nologin

这里为 /usr/sbin/nologin

添加用户,指定用户目录为 /home/ftpuser

  1. # useradd -d /home/ftpuser -s /usr/sbin/nologin ftpuser

设置密码

  1. # passwd ftpuser

创建用户目录并修改所有权

  1. # mkdir /home/ftpuser
  2. # chown -R ftpuser:ftpuser /home/ftpuser

(4)配置 vsftpd

编辑 /etc/vsftpd.conf,打开以下配置(也就是取消掉该项前面的注释)

  1. write_enable=YES
  2. chroot_local_user=YES
  3. chroot_list_enable=YES
  4. chroot_list_file=/etc/vsftpd.chroot_list

将用户 ftpuser 添加到 /etc/vsftpd.chroot_list 文件末尾

(5)修改 shell 配置

打开 /etc/shells 文件,如果没有 /usr/sbin/nologin 项(这是从上面内容中得知的位置),则添加到文件最后面

(6)启动

  1. # service vsftpd start

(7)本地测试

  1. $ ftp ftpuser@server_ip

输入密码后,如果看到类似下面的结果,说明 FTP 服务安装成功

  1. 230 Login successful.
  2. Remote system type is UNIX.
  3. Using binary mode to transfer files.
  4. ftp>

PyCharm 配置

(1)本地用户目录下(~)新建空项目 pyproject

  1. $ mkdir pyproject

然后使用 PyCharm 打开

(2)PyCharm 添加服务器配置

依次点击菜单 Tools->Deployment->Configuration 进入配置页,点击左边栏的 + 号选择类型 FTP,输入服务器名称(自己取个名就行)后填写详细信息

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

(3)PyCharm 配置远程解释器

便于演示,我们在服务器上创建个项目 pyproject,并初始化为 Python 3.6.0 的环境

  1. # mkdir /home/ftpuser/pyproject
  2. # cd /home/ftpuser/pyproject
  3. # pipenv --python 3.6.0

查看虚拟环境目录

  1. # pipenv --venv
  2. /root/.local/share/virtualenvs/pyproject-ZUjobz8m

打开 PyCharm 设置界面

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

点击齿轮图标后,按下面步骤添加

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

因为之前配置了免密登录,这里我就选择了私钥进行认证。

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

根据之前的设置填写服务器上的解释器路径以及项目目录,之后点击 Finish 即可。

如果提示会覆盖服务器的目录,覆盖即可。

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

配置完成后,我们在本地的修改都会同步到服务器上面。便于测试,我们在项目下新建文件 test.py

  1. # coding=utf-8
  2. print('Hello')

然后运行

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

这会调用服务器上的解释器去运行 Python 脚本。

很多时候,我们都想本地与服务器的项目文件保持一致,我们可以使用 FTP 比对工具

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

这里面会显示本地和服务器的差异文件,我们可以按需要将本地的上传到服务器,也可以将服务器上的文件下载到本地。

这个例子中,服务器多了一个 Pipfile 文件

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

点击同步后,本地和服务器上的文件也就保持一致了。

有的时候,我们可能希望 PyCharm 的同步操作半自动一些,我们可以设置为手动触发。

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

使用 PyCharm 和 FTP 搭建 Python 远程开发环境

设置为第二个选项后,我们使用 Command + S 的时候手动触发同步了,这样更灵活一些。

本文来源于:使用 PyCharm 和 FTP 搭建 Python 远程开发环境-变化吧门户
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
二叶草
FTP-主动模式和被动模式的分析 ftp工具

FTP-主动模式和被动模式的分析

FTP,很多人都非常熟悉了。很多FTP实现的软件使用主动模式来传输数据,那主动模式和被动模式的区别在哪呢? 为啥有了主动模式还有被动模式呢? 借助wireshark来分析FTP主动模式和被动模式的区别...

发表评论