环境版本
背景:需要将自动化脚本给没有安装任何环境的测试人员使用,使用pyinstall 将程序打包,
pyinstaller版本为:3.5
python 版本:3.7.3
系统版本:Win10
脚本及目录结构
![](https://img.haomeiwen.com/i11684881/35b82f4faccb73aa.png)
运行指令
在脚本目录下打开cmd窗口, 找到pyinstaller 的目录,一般默认安装在 C:\Users\用户名\AppData\Local\Programs\Python\Python37-32\Scripts\pyinstaller.exe
运行如下:
![](https://img.haomeiwen.com/i11684881/b6d9dff432f013e2.png)
运行结束后,会在当前目录下生成build, dist, auto_new_windows.spec
![](https://img.haomeiwen.com/i11684881/cbff72c44bb2530b.png)
具体关于生成的文件以及参数不做描述,一搜一大堆
参考链接:https://blog.csdn.net/BearStarX/article/details/81054134
运行完需要解决的问题
1. 运行时出现No Module Named****
或者 Module Not Found
错误时
错误如下:
![](https://img.haomeiwen.com/i11684881/eee3a30c94150be3.png)
解决
将报错打印出的Module 放入刚刚生成的spec 文件auto_new_windows.spec
中, 如 numpy.random.common
, 然后将dist, build 文件夹删除,重新在本地目录打开cmd 窗口,使用sepc 文件再重新打包py脚本。然后重新运行exe, 缺什么,在spec 文件中的这个位置添加什么,重复上面的步骤,直到不报错
![](https://img.haomeiwen.com/i11684881/f6c5332159b43675.png)
![](https://img.haomeiwen.com/i11684881/7622ceeb82ba939a.png)
2. 运行时的文件依赖
由于脚本运行时需要很多依赖的文件,文件夹,所以需要将脚本以及所用到的依赖文件全部copy 到dist 文件夹中,也就是和exe 程序包同一目录。
![](https://img.haomeiwen.com/i11684881/7e97e0f353f7748b.png)
同一目录下运行多个py文件
有时,同一目录下多个py文件需要一起打包,也只需要更改spec文件即可,依次添加你想运行的py文件即可
如下:
![](https://img.haomeiwen.com/i11684881/9fafeb4fc5d266e2.png)
![](https://img.haomeiwen.com/i11684881/bebbfd4960416487.png)
网友评论