打包exe
对于不懂程序的人来说,可能有这样一个认识上的误区:只有能够直接打开的exe才是平常经常见到的程序,py文件不能算是程序。
在这种情况下,一些python的使用者可能非常苦恼:怎么才能够让我的程序,看起来像是真正的程序呢?
实际上,通过pyinstaller,我们就可以轻松将python代码打包为常见的exe程序,再也不会被他人看不起了(误)。
基础单文件
pyinstaller安装
使用pip安装pyinstaller:pip install pyinstaller
准备文件
我们需要准备一个需要打包的单文件,例如hello_world.py
print("hello world!!")
# 为了防止我们的程序太快直接结束看不出效果
# 我们添加一个input()阻塞程序
input()
如果按照平常的使用,应该使用:python hello_world.py
运行程序
使用pyinstaller打包
使用指令:pyinstaller --onefile hello_world.py
此时,会看到当前目录下已经生成了很多文件
在dist目录下,就包含了我们已经生成好的hello_world.exe,通过双击运行,就可以看到程序运行的结果。
隐藏控制台窗口
如果你不需要一个控制台窗口,可以添加--noconsole
选项。
pyinstaller --onefile --noconsole main.py
注意:如果你不需要控制台窗口,那么就不应该使用像input这样的需要控制台的函数。
通常,对于gui程序,隐藏控制台窗口是很有必要的。下面是一个简单的查看本地ip的例子(需要安装requests库)。
import tkinter as tk
from tkinter import scrolledtext
import requests
def fetch_data(