【python学习总结2】.py文件转化为.exe文件

1.pyInstaller安装配置:

如果安装了pip,直接用Windows的“命令提示符(管理员)”(菜单右键)打开cmd命令行窗口,输入pip  install pyinstaller。

或者手动安装:打开网址下载后解压PyInstaller:pyInstalller下载网址

在CMD命令行中进入D:\Python\pyinstaller-pyinstaller目录,然后执行:python setup.py install

2.下载pywin32

如果安装了pip,直接用Windows的“命令提示符(管理员)”(菜单右键)打开cmd命令行窗口,输入 pip install pywin32。

或者手动安装:Python for Windows Extensions - Browse /pywin32 at SourceForge.net  注意选择与自己Python版本匹配的下载。
双击pywin32-221.win-amd64-py3.6.exe安装,注意安装的时候会自动检测之前安装的Python3.6。然后一直下一步,很简单。然后在CMD命令行进入Python3.6目录下的Scripts目录并执行:python pywin32_postinstall.py -install 命令。

3.制作.exe文件

cmd进入.py文件所在目录,执行pyinstaller **.py,执行之后可以看到文件夹下新增了dist文件夹,exe文件就在里边:

【python学习总结2】.py文件转化为.exe文件_第1张图片

但是这是一个包含很多东西的文件夹,比较乱,可以加 - F参数生成一个单独的exe文件,注意:大写的F,pyinstaller -F **.py

Python程序通过 Pyinstaller 打包成exe程序后,执行时会先弹一个黑色命令窗口来,可以增加 -w 参数来取消cmd弹窗pyinstaller -F -w **.py

4.使生成的exe文件带图标

在.py文件所在目录下放icon图片,打包时加-i参数:pyinstaller -F -w  -i **.ico **.py

网上有图片转换工具,将图片转为.ico格式

pyinstaller -F -w -i  aaa.ico testcase_generate.py

【python学习总结2】.py文件转化为.exe文件_第2张图片

【python学习总结2】.py文件转化为.exe文件_第3张图片

注意:有时候转换完成但不显示图标,重启windows资源管理器 explorer.exe即可

5.获取.exe所在目录:

如果脚本有获取当前文件所在路径的代码os.path.dirname(__file__),.py转换为.exe后获取不到exe程序的所在路径,解决办法:

import os
import sys    
if getattr(sys, 'frozen', False):
        current_path = os.path.dirname(sys.executable)
    elif __file__:
        current_path=os.path.dirname(__file__)
    print(current_path)

6.解决No module named ***问题

在pycharm中创建project后编写.py运行没问题,但放在pycharm外面或打包成exe后运行报错No module named ***

分析问题原因: python解释器找不到模块,这是Python包间互相调用出了问题,或者说是工作目录的问题。虽然Python是一个轻量级的语言,有时候文件会很多,还是需要通过包(package)来帮助我们管理模块(module)。于是,我们用IDE写代码,通过“创建project——创建package——创建py文件”建立模块,编辑完成后运行,包间模块的调用没有问题。因为在这个过程中,IDE自动记录了包和模块之间的依赖关系,此时调用当前包外的同一个project下的文件不成问题。
倘若我们的代码需要以命令行的形式运行,那就会出现no module named ***的问题。

解决办法:

在每个你需要调用外部包模块的文件头添加:

import sys
sys.path.append('你的项目地址')

 【python学习总结2】.py文件转化为.exe文件_第4张图片

 

你可能感兴趣的:(工具开发,python,exe)