在上一章中,我们用python开发出了五子棋计算接口,并且可以在自己的电脑运行。然而随之而来有几个问题:
1、我想把游戏发给我朋友电脑上玩,但是他的电脑没有python运行环境,那他怎么运行接口文件呢?总不能让他装个python。
2、我想把游戏发布到网上,一般都是linux平台,该怎么办呢?
上面的两个场景涉及的问题分别是:python项目打包成exe可执行文件;python的Flask接口部署。
python项目打包成exe可执行文件
## 步骤一、安装pyinsatller
打开命令行窗口,输入如下指令
pip3 install pyinstalle
等待pyinsatller库安装完成。
## 步骤二、使用pyinstaller打包Python程序
1. 选中你要打包的py文件的上级目录,按住shift并且右键,在弹出的选项中点击"在此处打开命令行窗口"或者“在此处打开PowerShell窗口”。
2. 输入以下指令,开始打包
pyinstaller -F -w (-i icofile) filename
· filename表示py文件名
· -w 表示隐藏程序运行时的命令行窗口(不加-w会有黑色窗口)
· 括号内的为可选参数,-i icofile表示给程序加上图标,图标必须为.ico格式
· icofile表示图标的位置,建议直接放在程序文件夹里面,这样子打包的时候直接写文件名就好
· 输入完成,按回车,就会开始自动打包了,第一次打包过程可能比较缓慢
## 操作演示
1. 在工程里面需要有个主py文件,我命名为main.py
。main.py
是flask开放的接口。
2. 然后我在工程文件夹(main.py
的上一级)按"shift"+右键,点"在此处打开PowerShell窗口"。
3. 输入语句,开始打包main.py
。
pyinstaller -F -w main.py
4. 打包完成,在dist文件夹里面有生成的main.exe
。
最终生成的文件main.exe,双击即可运行。
这样,即使是在没有python运行环境的电脑上也可以运行我们的接口了。
## 注意事项!!
· 在导入库文件的时候,尽可能的小。用from xxx import xxx。这样在打包的时候,它提取的库文件不会多余,整个打包的项目也会小一点。
· 导入的exe在dist文件夹里面,不能动,它需要用其他文件夹里面的库文件。
python的Flask接口部署(Linux)
## 步骤一、安装必要的软件依赖
确保我们的Linux系统已经安装了Python和pip(Python包管理器)。如果没有安装,需要使用适用我们的Linux发行版的包管理器来安装。例如对于Ubuntu,可以使用以下命令安装:
sudo apt update sudo apt install python3 python3-pip
## 步骤二、安装Flask和其他依赖
安装我们项目里面需要的库:
pip install flask numpy
## 步骤三、运行flask
在终端中,使用以下命令在服务器上运行Flask应用程序:
python app.py
如果你的应用程序监听的端口不是默认的80端口,可以使用–port选项指定端口号。
python app.py --port 5000
## 步骤四、配置服务器
部署之后,还需要配置服务器到Flask应用程序的接口上。可以使用诸如Nginx或Apache等Web服务器来代理请求到Flask应用。具体配置取决于你使用的服务器软件和配置文件的位置。推荐使用nginx,很轻,而且操作比较简单。