【小沐学Python】Python实现Web服务器(Ubuntu下打包Flask)

62 篇文章 11 订阅
15 篇文章 0 订阅

在这里插入图片描述

🍺基于Python的Web服务器系列相关文章编写如下🍺:

  1. 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈
  2. 🎈【Web开发】Python实现Web服务器(Flask案例测试)🎈
  3. 🎈【Web开发】Python实现Web服务器(Flask部署上线)🎈
  4. 🎈【Web开发】Python实现Web服务器(Flask+Tornado+nginx)🎈
  5. 🎈【Web开发】Python实现Web服务器(Ubuntu下安装Flask)🎈
  6. 🎈【Web开发】Python实现Web服务器(Ubuntu下打包Flask)🎈
  7. 🎈【Web开发】Python实现Web服务器(Ubuntu下调试Flask)🎈
  8. 🎈【Web开发】Python实现Web服务器(Ubuntu下Flask使用MySQL)🎈

1、简介

pyinstaller用于将Python文件和依赖包打包成为Linux可执行程序,方便在不同机器调用。
跨平台,支持win,linux,mac。

2、安装

2.1 安装flask

详细介绍见另一篇文章:《【Web开发】Python实现Web服务器(Ubuntu下安装Flask)》
https://blog.csdn.net/hhy321/article/details/128406967

2.2 安装pyecharts

pip installer pyecharts

在这里插入图片描述

2.3 安装pyinstaller

pip installer pyinstaller
# or
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller

在这里插入图片描述

find / -name "pyinstaller"

在这里插入图片描述
在这里插入图片描述
查看是否安装成功.

pip3 show pyinstaller

在这里插入图片描述
如果执行pyinstaller -v,提示pyinstaller: command not found
通过vim ~/.bash_profile将配置到环境变量中
export PATH=/System/Volumes/Data/Users/**/Library/Python/3.7/bin:$PATH
然后source ~/.bash_profile出重新编译配置生效。

3、打包

(1)执行pip3 freeze > requirements.txt在本机中将项目所需的依赖输出到文本文件中。
(2)在服务器中进入虚拟环境,在执行pip3 install -r requirements.txt安装所需依赖包。
(3)执行pip3 install uwsgi安装uwsgi

3.1 pyinstaller参数

-h,--help 查看该模块的帮助信息
-F,-onefile 产生单个的可执行文件
-D,--onedir 产生一个目录(包含多个文件)作为可执行程序
-a,--ascii 不包含 Unicode 字符集支持
-d,--debug 产生 debug 版本的可执行文件
-w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

打包命令:

pyinstaller -F xxx.py

3.2 打包测试(pyecharts)

chart.py:

from pyecharts.charts import Bar
 
bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render()

执行打包操作如下:

pyinstaller -F chart.py

在这里插入图片描述
在这里插入图片描述
执行打包后的程序chart

./dist/chart

在这里插入图片描述
在这里插入图片描述
程序执行后生成网页文件render.html。
将上面的网页文件下载到Windows电脑上运行如下:
在这里插入图片描述

记录运行过程的问题解决:
FileNotFoundError: [Errno 2] No such file or directory: ‘C:\Users\xxx\AppData\Local\Temp_MEI944442\pyecharts\datasets\map_filename.json’

Python38\site-packages\PyInstaller\hooks\ 需要增加如下文件hook-pyecharts.py,

  • hook-pyecharts.py:
# Hook for nanite: https://pypi.python.org/pypi/nanite 
from PyInstaller.utils.hooks import collect_data_files 
datas = collect_data_files('pyecharts') 

在这里插入图片描述

3.3 打包测试(flask)

  • hello.py:
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World, 小沐!'
 
if __name__ == '__main__':
    app.run()

执行打包操作如下:

pyinstaller -F hello.py

在这里插入图片描述
在这里插入图片描述
执行打包后的程序hello

./dist/hello

在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值