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会提示找不到包。

原文地址:https://www.cnblogs.com/adawen/p/14694633.html