Python打包成可在Windows和linux上运行的文件

Python是解释性语言,我们如何将普通的Python项目(含有依赖,redis)打包成可运行的一个文件(实际为文件夹吧)。下面描述一个基本流程,供大家参考。以下流程是我们实际线上REDIS数据修改的一个需求,可以简单的理解为将数据A改为B,项目地址可见https://github.com/antianchi/data_process_20190429.git。

  1. 整个项目结构描述:
    我项目的包只有util、process,main.py为入口文件。其余文件夹为打包而服务。
    Python打包成可在Windows和linux上运行的文件_第1张图片
  2. 创建setup.py文件:
    #coding=utf-8
    from distutils.core import setup
    setup(
        name='data_process',
        version='4.0',
        author='安天池',
        author_email='[email protected]',
        maintainer='安天池',
        maintainer_email='[email protected]',
        url='www.eastcom.com',
        packages=["","process","util"]
    )

     

  3. 在terminal中执行命令:pip freeze > requirements.txt 。生成当前项目的依赖配置文件,此文件中的内容包含了整个项目的依赖,我们只需要保留非系统的依赖即可,例如我的项目依赖了REDIS,requirements.txt 文件内容如下:
    configparser==3.5.0
    croniter==0.3.25
    redis==3.2.1

     

  4. 使用命令>pip download -d packages/ -r requirements.txt 将系统外的依赖下载到packages目录,执行完毕目录如下:
    Python打包成可在Windows和linux上运行的文件_第2张图片
  5. 执行打包命令python setup.py sdist,执行完毕后,生成的文件所在位置。忘记描述,所有的命令执行,直接在Pycharm的terminal中执行即可,免得打开命令提示符。
    Python打包成可在Windows和linux上运行的文件_第3张图片
  6. 将生成的data_process-4.0.zip拷贝到文件系统,然后解压,将packages,requirements.txt 放入解压后的文件夹,此文件夹内容如下:
    Python打包成可在Windows和linux上运行的文件_第4张图片
  7. 执行项目,由于我的电脑已经将redis的额外依赖安装了,是可以直接执行python main.py的,否则将会报错,说缺少redis,那么此时,你就需要在当前文件夹下执行命令:pip install --no-index --find-links=packages/ -r requirements.txt将依赖安装到系统。
    Python打包成可在Windows和linux上运行的文件_第5张图片
  8. 若你的系统缺少pip命令,那么你需要去下载pip-19.1.tar.gz,下载地址https://pypi.org/project/pip/#files此处找到,此tar文件针对linux;若你是在WIn上,可以执行python get-pip.py,安装pip,此文件的下载也在刚才的地址,演示就不提供了。


     

你可能感兴趣的:(Python打包成可在Windows和linux上运行的文件)