【Web开发】Python实现Web服务器(Ubuntu下打包Flask)

news2024/11/24 2:27:51

在这里插入图片描述

🍺基于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)🎈

文章目录

  • 1、简介
  • 2、安装
    • 2.1 安装flask
    • 2.2 安装pyecharts
    • 2.3 安装pyinstaller
  • 3、打包
    • 3.1 pyinstaller参数
    • 3.2 打包测试(pyecharts)
    • 3.3 打包测试(flask)
  • 结语

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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安科瑞红外测温方案助力滁州某新能源光伏产业工厂安全用电

安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 摘要: 近年来,在国家政策引导与技术革新驱动的双重作用下,光伏产业保持快速增长态势,产业规模持续扩大,技术迭代更新不断,目前已在全球市场取得优势。据统计&#…

数据结构C语言版——链式二叉树的基本操作实现

文章目录链式二叉树1. 概念2. 链式二叉树的基本操作前序遍历中序遍历后续遍历根据前序遍历构建二叉树层序遍历在二叉树中查找指定值获取二叉树节点个数获取叶子节点个数求二叉树的高度链式二叉树 1. 概念 设计不同的节点结构可构成不同形式的链式存储结构。由二叉树的定义可知…

用简单伪随机数发生器实现随机中点位移分形(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 随机分形(random fractal)采用随机生成机制而得到的分形集.分形体不具有特征尺度(亦即大小尺度跨好几个量级),却有…

5G无线技术基础自学系列 | 5G接入类KPI

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 接入类KPI反映了用户成功接入到网络中并…

李沐精读论文:Swin transformer: Hierarchical vision transformer using shifted windows

论文地址:Swin transformer: Hierarchical vision transformer using shifted windows 代码:官方源码 pytorch实现 SwinTransformerAPI 视频:Swin Transformer论文精读【论文精读】_哔哩哔哩_bilibili 本文注意参考:Swin Transfor…

MySql性能优化(四)索引

Index索引相关概念数据结构B树优点及用处优点用处分类技术名词回表覆盖索引最左匹配索引下推索引的匹配方式哈希索引特点代价案例组合索引案例聚簇索引与非聚簇索引聚簇索引非聚簇索引覆盖索引基本介绍优点判断参考索引相关概念 数据结构 B树 推荐一篇讲的很不错的文章&…

【小程序】wxss与rpx单位以及全局样式和局部样式

目录 WXSS 1. 什么是 WXSS 2. WXSS 和 CSS 的关系 rpx 1. 什么是 rpx 尺寸单位 2. rpx 的实现原理 3. rpx 与 px 之间的单位换算* 样式导入 1. 什么是样式导入 2. import 的语法格式 全局样式和局部样式 1. 全局样式 2. 局部样式 WXSS 1. 什么是 WXSS WXSS (We…

Linux网络与数据封装

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 Linux网络与数据封装1. 网络应用程序的设计模式(1)C/S架构(2&#…

VRTK4 入门指南

VRTK4 说明文档VRTK Farm Yard 示例 - Virtual Reality Toolkit要求使用 Unity 2020.3.24f1.Beta 免责声明简介入门下载项目在 Unity 中打开下载的项目使用 Unity Hub在 Unity 中打开项目运行示例场景Made With VRTK贡献第三方包许可证VRTK Farm Yard 示例 - Virtual Reality T…

家居建材行业数字化重构,依靠CRM打通全流程

国家十四五规划提出大力推进产业数字化转型,如今各行各业数字化进程如火如荼,传统行业将数字化转型视为重塑产业竞争力的重要途径。因此,即便是数字化率平均只有10%的家具建材业,也在积极进行全生命周期的产品数字化、全域营销数字…

加载速度提升 15%,关于 Python 启动加速探索与实践的解析 | 龙蜥技术

编者按:在刚刚结束的 PyCon China 2022 大会上,龙蜥社区开发者严懿宸分享了主题为《Python 启动加速的探索与实践》的技术演讲。本次演讲,作者将从 CPython 社区相关工作、本方案的设计及实现,以及业务层面的集成等方面进行介绍。…

Python基础知识入门(四)

Python基础知识入门(一) Python基础知识入门(二) Python基础知识入门(三) 一、条件控制 条件语句是通过一条或多条语句的执行结果(True 或者False)来决定执行的代码块。 注意&…

使用CMake编译基于OpenCV开发的程序的方法

方法 使用CMake编译OpenCV开发的程序分为以下几个步骤: 安装编译器和代码编辑器。 Windows安装Visual Studio社区版,集成了编译器和代码编辑器。Ubuntu安装gcc、g和VSCode: sudo apt install gcc gcmacOS安装XCode Commandline Tools和VS…

R语言应用xgboost进行机器学习(1)

XGBoost 机器学习模型是一种高效且可扩的展的机器学习分类器,由 Chen 和 Guestrin 在 2016 年推广。XGBoost原理是是在决策树的基础上产生迭代,它以 boosting 的方式结合了多个决策树。通常创建每棵新树是为了通过梯度提升来减少先前模型的误差&#xff…

鸿翼档案,将非结构化数据治理能力应用于档案管理的先行者

数字化时代,每个人每天都要接触大量的数据。人们通过分析数据获取信息与知识,帮助自身更好地理解社会动向,掌握行业发展。我们每天都会接触到多种多样的数据,这些数据根据结构可划分为三种:结构化数据、非结构化数据和…

Android设计模式详解之责任链模式

前言 责任链模式是行为型设计模式; 定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 使用场景:…

基于概率论的MATLAB仿真,内容包括非共轭条件下的后验概率的推导,共轭条件下的非完备集的后验概率的推导

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 1.1先验概率的推导 根据贝叶斯概率论可知,某一事件的后验概率可以根据先验概率来获得,因此,这里首先对事件的先验概率分布进行理论的推导。假设测量的腐蚀数据…

[一个无框架的javaweb demo]番荒之冢 --番剧灯塔站

文章目录番荒之冢 --番剧灯塔站理念大致设计权限分配番剧信息用户/管理员信息邮箱正则匹配URL正则匹配留言信息数据库设计useranimationcommentfavoranim技术栈(无框架)功能一个简单的登录(进行了路由限制, 若未登录都会跳转至此)首页我的我的资料追番清单留言区番剧详情退出登…

华为云-计算云服务介绍

前言 相信很多小伙伴在刚开始接触各类云产品的时候,被各种各样的云产品类如规格、型号、价格、适用场景等问题所困扰。本文就给大家介绍一下华为云常见云产品的规格区别和适用场景。帮助大家选择合适的云产品。 文章目录前言一、计算云服务1.弹性云服务器2.裸金属服…

Apache Flink 部署模式

目录 会话模式 Session Mode 单作业模式 Per-Job Mode (deprecated) 应用模式 Application Mode 在一些应用场景中,对于集群资源分配和占用的方式,可能会有特定的需求。Flink 为各种场景提供了不同的部署模式,主要有以下三种: i…