Metadata-Version: 2.1
Name: auto_run_on_remote
Version: 0.1
Summary: auto run current python script on remote server
Home-page: https://github.com/ydf0509/distributed_framework
Author: bfzs
Author-email: ydf0509@sohu.com
Maintainer: ydf
Maintainer-email: ydf0509@sohu.com
License: BSD License
Description: #1 安装
        
        pip install auto_run_on_remote
        
        #2 auto_run_on_remote 介绍
        
        ```
        全名字含义应该是 auto_run_current_python_script_on_remote_server
        
        在本机运行脚本自动在远程机器上运行。
        
        自动上传文件夹 自动创建文件夹 自动远程机器上运行python脚本
        ```
        
        # 用法如下
        ```
        在项目的任意目录层级下的脚本中运行run_current_script_on_remote(),则脚本会自动运行在远程机器。
        当第一次运行脚本时候，会自动在你当项目的根目录生成 auto_run_on_remote_config.py 配置文件，然后，你自己按需修改其中的值。
        以后运行run_current_script_on_remote()会自动读取到 auto_run_on_remote_config.py  中的配置。
        ```
        
        ```python
        import time
        import sys
        
        from auto_run_on_remote import run_current_script_on_remote
        
        
        run_current_script_on_remote()
        # 以下的代码的print都不是在当前机器打印的，是在远程机器上打印的。
        
        for i in range(10):
            print(f'嘻嘻 {i},通过文件路径和python解释器路径，可以发现这句话是在远程机器打印出来的, {__file__} ,{sys.executable} ')
            time.sleep(1)
        
        ```
        
        
        
        代码运行截图，我本机是win10，可以看到代码是运行在linux的。
        [![hXvZff.png](https://z3.ax1x.com/2021/09/10/hXvZff.png)](https://imgtu.com/i/hXvZff)
        
        
        配置文件 auto_run_on_remote_config.py 介绍
        ```python
        """
        这个配置文件是自动生成到你的项目根目录的。
        """
        
        import sys
        
        # 项目根目录文件夹，这个一般不需要改，会根据PYTHONPATH智能获取。
        # pycahrm自动添加了项目根目录到第一个PYTHONPATH，如果是cmd命令启动这先设置PYTHONPATH环境变量。
        # windows设置  set PYTHONPATH=你当前python项目根目录,然后敲击你的python运行命令
        # linux设置    export PYTHONPATH=你当前python项目根目录,然后敲击你的python运行命令
        PYTHON_PROJ_DIR_LOCAL = sys.path[1]
        
        # 这是远程机器的账号密码配置。把这个配置文件加到gitignore就不会泄漏了。
        HOST = '192.168.6.133'
        PORT = 22
        USER = 'ydf'
        PASSWORD = '372148'
        
        PYTHON_INTERPRETER = 'python3'  # 如果你安装了四五个python环境，可以直接指定远程解释器的绝对路径  例如 /opt/minicondadir/ens/env35/python
        
        # 上传文件夹的配置，具体可以看paramiko_util.py里面的代码。
        PATH_PATTERN_EXLUDED_TUPLE = ('/.git/', '/.idea/', '/dist/', '/build/')  # 路径中如果有这些就自动过滤不上传
        FILE_SUFFIX_TUPLE_EXLUDED = ('.pyc', '.log', '.gz')  # 这些后缀的文件不上传
        ONLY_UPLOAD_WITHIN_THE_LAST_MODIFY_TIME = 3650 * 24 * 60 * 60  # 只有在这个时间之内修改的文件才上传。如果项目比较大，可以第一次完整上传，之后再把这个时间改小。
        FILE_VOLUME_LIMIT = 1000 * 1000  # 大于这个体积的文件不上传，单位b。
        SFTP_LOG_LEVEL = 20  # 文件夹上传时候的日志级别。10 logging.DEBUG ,20 logging.INFO 30 logging.WaRNING,如果要看为什么某个文件上传失败，可以设置debug级别。
        
        EXTRA_SHELL_STR = ''  # 远程执行命令之前，可以自定义执行的shell语句，一般例如可以设置啥环境变量什么的。
        
        ```
Keywords: auto_run_on_remote
Platform: all
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/markdown
