IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python+Web自动化打包exe+配置文件 -> 正文阅读

[Python知识库]python+Web自动化打包exe+配置文件

引言:简单的打包单个没有依赖关系的.py文件很简单,但是想要运用到框架的没几个博客。我找了好多博客都很水,什么喂饭教程,太水了,还是没有实现打包。
本文仅仅引用一篇博客链接:我的思路就是从这个链接来的,最后实现了我想要的功能!上链接

前置条件:下载 pyinstaller 库

有网的下载:pip install pyinstaller
没有网的下载这些个插件:官网给你:戳这里 红色就是插件名称,比如zipp
记得进去修改路径就好了 https://pypi.org/project/pycparser/#files 就修改成 https://pypi.org/project/zipp/#files
在这里插入图片描述

首先、

一、生成XXX.spec文件

打开cmd,路径切换到pycharm的工程目录下,执行命令:xxx.py 也就是你想打包的文件

pyi-makespec xxx.py

在windows窗口就可以看到这个文件。然后进去里面去用txt或者notepad++编辑;
在这里插入图片描述

二、编辑XXX.spec文件

下面就是内容!介绍一下:除了修改的地方自行修改,其他地方直接copy我的就行了
需要修改的地方:
1、Analysis(['run.py'] --------- > 就是你想要打包的文件,也就是执行入口
2、name='run' --------- > 文件名,不需要后缀
3、hiddenimports = […] 这些个都是你的运行run.py所必须的依赖文件。注意依赖文件的定义是在你的代码中比如是我写的WEB自动化,这些文件都是执行操作的文件,比如点击,退出,打开网页。如果是api自动化框架,可以去试试写执行测试用例的文件,比如unittest文件,这个博主也没有试过,见谅!
举例:
web_ui_auto_lib.element_behavior_handlers.check_behavior_handler’,其实这就是路径:web_ui_auto_lib/element_behavior_handlers/check_behavior_handler,check_behavior_handler就是文件名
在这里插入图片描述

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(['run.py'],
             pathex=[],
             binaries=[],
             datas=[],
             hiddenimports=['web_ui_auto_lib.element_behavior_handlers.check_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.click_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.close_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.refresh_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.input_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.openurl_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.screenshot_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.move_behavior_handler',
             'web_ui_auto_lib.element_behavior_handlers.upload_behavior_handler',
	         'web_ui_auto_lib.element_behavior_handlers.quit_behavior_handler',
	         'web_ui_auto_lib.element_behavior_handlers.point_behavior_handler'],
             hookspath=[],
             hooksconfig={},
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)

exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='run',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True,
          disable_windowed_traceback=False,
          target_arch=None,
          codesign_identity=None,
          entitlements_file=None )

三、在第一步打开的CMD中执行XXX.spec文件

输入命令:-F 就是打包单个文件,其实入口大概率也就一个

pyinstaller -F run.spec

四、在工程目录会生产两个文件,一个为dist一个为build。

进去dist文件中,会发现生成一个XXX.exe文件,就是我们想要打包文件工具

还没完注意!!!!!!!!!!!!!!!!!!!!!!!!!!!

我们还需要加入我们的配置文件!我们的EXCEL放在哪里,要根据我们配置文件的路径来,我们的一些配置文件都要跟我们的工程里面的位置是一样的。
我建议大家都写成相对路径,比如我的:除了生成的报告用的绝对路径以外,其他的都是相对路径

[file]
report_file_path = C:\\Temp\\Report\\
screenshot_path = .\screenshot
runstatus_file_path = C:\\Temp\\runstatus\\
file_download_path = C:\\Temp\\download
driver_file_path = .\data\chromedriver.exe
driver_name = "Chrome:chromedriver,Firefox:geckodriver"
staff_file_path = .\data\\staff.json
report_html_path = .\report
addTest_path = .\web_ui_auto_lib\
[log]
log_folder_path = .\logs
log_level = 4
[version]
versionid = v0.1

举例:

staff_file_path = .\data\\staff.json,这个文件需要用到data目录,那么就需要在dist目录中新建data文件,然后把staff.json文件给扔进来。
总之一句话:把你需要的所以配置文件或者是驱动,都扔到你的dist文件下面,注意自己写的层级关系,相对路径有文件夹,就新建文件夹,没有就直接扔文件,那些自动生成的文件或者文件夹就不用扔了

五、最后,你一定会运行成功的!!!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:00:05  更:2022-06-29 19:01:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:12:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码