本文概述
- 要求
- 实现
- 提示与建议
在本文中, 你将学习如何在Windows中使用Pyinstaller从Python控制台脚本轻松创建可执行文件。
要求 要创建我们的可执行文件, 我们将使用pyinstaller软件包。要下载pyinstaller, 请在命令提示符(cmd.exe)中执行以下命令:
pip install pyinstaller
安装将继续进行, 你的环境中将提供可用的pyinstaller:
文章图片
你可以在官方网站上阅读有关此软件包的更多信息。要检查pyinstaller是否已正确安装, 你可以检查控制台中它是否作为执行pyinstaller – h的环境变量可用。
实现 使用pyinstaller创建可执行文件非常简单, 可自定义并且非常容易执行。在我们的示例中, 我们将创建以下脚本的可执行文件。脚本的文件名是file-creator.py, 其中包含以下代码(它只是提示用户输入新文件的名称和内容):
def start_setup():# raw_input returns the empty string for "enter"yes = set(['yes', 'y', 'ye', ''])no = set(['no', 'n'])prompt = '>
'print ("Hi, welcome to Text File Creator 2000")print ("To get started, give a name to your file (without extension)")filename = input(prompt)print ("Awesome, now provide the content of the file !)")content = input(prompt)confirm = input(">
Do you want to continue with the creation of " + filename + ".txt ? (Yes/No)").lower()if confirm in yes:text_file = open(filename + ".txt", "w")text_file.write(content)text_file.close()print ("File succesfully created, come back soon !")return Trueelif confirm in no:print ("Ok, nothing will happen !")return Falseelse:print ("Please answer yes or no !, the setup will start again")# start againstart_setup()start_setup()
如你所见, 它是一个简单的控制台Python应用程序。现在创建可执行文件, 使用控制台(cmd.exe)导航到python脚本所在的文件夹(在本例中为Desktop \ pythonScripts):
cd C:\Users\sdkca\Desktop\pythonScripts
现在, 使用以下命令继续执行可执行文件:
pyinstaller file-creator.py
这是创建脚本可执行文件的最简单命令, 因此足以在脚本所在的文件夹中创建可执行文件。请注意, 我们的应用程序仅基于控制台(如果要在清单中包含同一清单和其他依赖项的可执行文件, 则可以将– console参数添加到命令中, 如果将GUI与wxPython之类的库一起使用, 则可以– console参数使用– windowed。)。
最后, 你可以在dist文件夹中测试创建的可执行文件, 该文件夹将在脚本所在的位置创建:
文章图片
提示与建议
- 你可以在命令(pyinstaller script.py – icon = c:\ path-to \ icon.ico)上添加icon参数(以文件的路径为值)来更改可执行文件的图标。
- 使用PyInstaller时可能会出现不同的典型问题。要解决应用程序中的问题, 请参阅此处的存储库中的” 如果出错, 请自述文件” 。
推荐阅读
- 使用appJar(基于Tkinter的UI)使用Python创建非常简单的图形用户界面
- 如何使用浏览器中的JavaScript从剪贴板检索图像
- 如何使用JavaScript将PDF转换为文本(从PDF提取文本)
- 使用浏览器工具或创建自己的基准来使用JavaScript衡量功能的性能
- 如何在浏览器中使用JavaScript创建Gameboy Advance Emulator(GBA)
- Linux(内核剖析):09---进程调度之Linux调度的实现(struct sched_entityschedule())
- Linux(内核剖析):08---进程调度之Linux调度算法(调度器类公平调度(CFS))
- helm v3 在k8s 上面的部署skywalking
- 服务/软件管理(19---Linux与Windows之间Zmodem协议的开启与使用(rzsz命令))