zoukankan      html  css  js  c++  java
  • python发布exe及调用

     python处理

    python接口

    主要使用flask库,通过URL接口进行交互,python接口为python_interface.py

    # -*- coding: utf-8 -*-
    # cython:language_level=3
    from flask import Flask
    
    #创建flask对象
    app = Flask(__name__)
     
    #创建路由'/'
    @app.route('/a')
    def home_a():
      return "Hello,I'm a!"
    #当用户请求'/a'资源时,回传"Hello,I'm a!"
    
    #创建路由'/'
    @app.route('/b')
    def home_b():
      return "Hello,I'm b!"
    #当用户请求'/b'资源时,回传"Hello,I'm b!"
    
    #启动flask,并设定端口为5000
    def main():
        app.run(host='127.0.0.1', port=5000)
    python_interface.py

    python主函数

    # -*- coding: utf-8 -*-
    from flask import Flask
    import python_interface
    
    if __name__ == '__main__':
        python_interface.main()
    py_inter.py

    代码运行后提示进入网站查看,查看接口/a结果如下:

    python生成exe

    生成exe,使用pyinstaller库,由于很容易被反编译获取源码,生成exe之前对.py文件进行编译处理

    二进制编译使用cython库

    编译文件为setup.py

    from distutils.core import setup
    from Cython.Build import cythonize
    
    setup(ext_modules = cythonize("python_interface.py"))
    setup.py

    编译pyd

    python终端或cmd命令下使用 python setup.py build_ext --inplace 语句进行pyd编译,示意图如下

    当界面出现已完成代码的生成,表示编译完成,下图所示

     此时文件夹中会多出2个文件和build文件夹(不用管)下图所示

     生成exe

    python终端或cmd命令下使用 pyinstaller -F  python_interface.py 语句进行打包,

     出现下图提示,表明生成成功

     红色方框内为生成的exe文件,双击此文件出现与python代码一致的信息,表示生成的exe是可用的,本例的提示下图所示

    同样的打开上图的网址,验证端口b,

    踩坑记录:

    1、主函数中应包含调用文件的所有包,否则生成的exe会提示找不到包。

  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    22. Generate Parentheses (backTracking)
    21. Merge Two Sorted Lists
    20. Valid Parentheses (Stack)
    19. Remove Nth Node From End of List
    18. 4Sum (通用算法 nSum)
    17. Letter Combinations of a Phone Number (backtracking)
    LeetCode SQL: Combine Two Tables
    LeetCode SQL:Employees Earning More Than Their Managers
  • 原文地址:https://www.cnblogs.com/adawen/p/14694633.html
Copyright © 2011-2022 走看看