🍺基于Python的Web服务器系列相关文章编写如下🍺:
- 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈
- 🎈【Web开发】Python实现Web服务器(Flask案例测试)🎈
- 🎈【Web开发】Python实现Web服务器(Flask部署上线)🎈
- 🎈【Web开发】Python实现Web服务器(Flask+Tornado+nginx)🎈
- 🎈【Web开发】Python实现Web服务器(Ubuntu下安装Flask)🎈
- 🎈【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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位大佬童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!