• Python 远程开发环境部署与调试


    一、下载相应开发工具

    Pycharm :下载地址 

    二、部署开发机

    一般在工作过程中,开发环境并不是本地环境,而是指在开发机;因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务

    三、代码自动化部署

    由于我们在本地进行代码编辑、在开发机中进行代码的运行及调试,因此,需要一种很方便的方式进行代码的远程自动化部署
    Pycharm 基于SFTP 的自动化部署
    Pycharm 中集成了基于SFTP的自动化部署方案,可以实时将改动的代码部署于线上服务器。
    Add Server
    配置路径:Tools -> Deployment -> Configuration -> Add (左上角加号) : Type 选择SFTP
    Connection
    说明:
    SFTP host :开发给的IP
    Root path :当前代码及依赖的架包等共同的父目录(在头条,源代码一般部署在/opt/tiger 目录下,请确保当前的用户在该目录拥有读写权限)
    User name :登录开发集的用户名
    Auth type:使用Key pair 可以很方便的进行登录
    Mapping
     
    Deloyment path:源码上传到服务器时的目录
    因为在Configuration 中我们已经配置了Root path,因此,此处的Deloyment path 选择相对的根目录即可
    配置自动上传
    Tools -> Deployment -> Automatic Upload(always) 即可自动将修改的代码上传至服务器中
    说明:点击Upload to *** 即可将当前代码手动上传至开发机

    四、远程调试环境

    现在我们的代码在开发机中运行,在开发过程中,我们需要对我们开发的代码进行高效的调试,检查代码逻辑的正确性。远程调试方法有两种:远程调试 和 查看Log
    远程Debug的有点在于将开发机当做本地环境,可以实时跟踪检查点的数据结果、实时查看日志
    配置Project Interpreter
    配置远程服务器
    Preference -> Project -> Project Interpreter -> Add -> SSH Interpreter ->  Exsiting server configuration 
     
    由于我们在之前已经配置了Deployment Configuration Connection ,因此只要选择对应的Deployment Configuration即可
     
    配置Interpreter
     
    Interpreter: 在下一步中选择对应的python执行器,由于头条真对MySQLdb等做了服务发现等相关的修改,该修改后的架包放置于:/opt/tiger/ss_lib/python_package/bin/python 下,因此,可以选择该Python执行器作为Interpreter 或者生成自己的env
    Sync folders: 选择自己在服务器中存放源码的目录

    五、远程运行及调试

    远程运行
    如本地环境一般运行python程序即可
    配置相关依赖
    由于项目需要许多外部依赖,如果尽在PYTHONPATH中配置对应的路径会存在几个问题:
    1. 多个项目公用PYTHONPATH 会相互影响
    1. 无法再外部依赖内进行远程debug,因此无法了解内部运行情况
    本地与远程依赖关联方法如下:
    配置本地依赖
    将相应的依赖下载到本地,并Add Content Root
    Preference -> Project -> Project Structure -> Add Content Root 选择下载到本地的依赖
    依赖远程关联
    由于大部分的依赖在/opt/tiger 下,因此不需要下载;如果该目录下不存在,则可以选择从git中下载,一般存在目录都会放在/opt/tiger 下
    Path mapping
    在Run -> Edit Configurations 下配置对应的Path mapping,配置依赖的本地和远程地址即可。
     
    现在就可以像在本地一样debug 你的代码了!!!
  • 相关阅读:
    numpy常用函数
    python 语法学习
    python学习:字典
    python 字符串使用
    k-近邻算法
    Numpy函数库
    机器学习初体验
    Xcode8 + iOS10Beta 权限问题崩溃的解决方法
    苹果设备全攻略
    使用 Xcode 代码块
  • 原文地址:https://www.cnblogs.com/sunweiye/p/12003640.html
Copyright © 2020-2023  润新知