我们平常用python写些脚本可以方便我们的学习办公,但限制就是需要有python环境才能运行。
那能不能直接在没有python环境的电脑上运行我们的脚本呢?
当然可以,那就是直接把python脚本打包成exe可执行程序(注针对win系统)
生成的exe可执行程序,我们只需要双击即可运行,不需要python环境。
那怎么把py文件打包成exe程序呢?
我们使用的打包工具是pyinstaller, 需要将这个包安装上,安装命令:
pip install pyinstaller
然后使用以下命令将其转换成 Windows 平台下的可执行文件(exe):
pyinstaller --onefile 文件名.py
若执行pyinstaller --onefile love.py时候遇到报错:
The 'typing' package is an obsolete backport of a standard
library package and is incompatible with PyInstaller.
Please `conda remove typing` then try again.
这是因为 PyInstaller 不支持 typing 库,而该库已经成为 Python 的标准库之一,为了避免上述错误,可以在执行 pyinstaller 命令前,执行以下命令卸载 typing 库:
pip uninstall typing
然后重新执行 pyinstaller 命令即可。
案例演示:
下面我用上篇文章中整理文件的脚本教大家如何操作。
1)首先为了使用更加灵活
我在原来脚本的基础上加上input输入来获取要整理的文件夹路径
完整代码如下,并命名为make_file:
import os
import shutil
def get_file_type(file_path):
# 获取文件扩展名
_, file_extension = os.path.splitext(file_path)
return file_extension.lower()
def organize_files(input_folder):
# 获取输入文件夹中的所有文件
files = os.listdir(input_folder)
# 遍历每个文件
for file in files:
# 构建文件的完整路径
file_path = os.path.join(input_folder, file)
# 判断是否是文件
if os.path.isfile(file_path):
# 获取文件类型
file_type = get_file_type(file_path)
# 构建目标文件夹路径
target_folder = os.path.join(input_folder, file_type + '类')
# 如果目标文件夹不存在,创建它
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 构建目标文件路径
target_file_path = os.path.join(target_folder, file)
# 移动文件到目标文件夹
shutil.move(file_path, target_file_path)
# 使用示例
while True:
file=input('请输入文件夹完整路径:')
organize_files(file)
print('文件夹整理完毕!')
2)使用效果如下:
(1)首先复制我们需要整理的文件夹路径(注:路径不要有英文)
(2)运行程序:
(3)查看我们整理后的文件夹
OK,确定正常并带有交互后,开始打包成exe
3)正式打包
首先通过pycharm或者命令行进入到我们要打包的py文件夹下
执行打包命令:
pyinstaller --onefile make_file.py
打包成功后就会生成dist和build文件夹
我们打包后的exe程序在dist中
可以看到已经成功打包成exe可执行程序
4)运行测试效果
我们直接把exe程序放到桌面,然后双击
可以看到成功运行,直接复制我们需要整理的文件路径即可整理
随便选择一个文件夹进行整理,复制路径:
粘贴路径
回车运行:
整理完毕,并进入下一次整理任务待命
OK,以上就是把python项目打包成exe可执行程序的操作,掌握了如上方法,我们就可以自己写一些脚本放置到没有python环境的电脑上使用了。
有所收益,欢迎关注,持续更新,一起进步~