如何打包含依赖的Python/Selenium脚本供非技术团队使用?
解决方案
方案1:PyInstaller打包成单EXE文件(最推荐)
直接把Python环境、依赖、脚本打包成单个可执行文件,用户双击就能运行,完全不用管环境配置。
操作步骤:
- 先在你的开发环境安装PyInstaller:
pip install pyinstaller - 替换ChromeDriver的手动安装逻辑:用
webdriver-manager自动匹配用户本地Chrome版本,避免驱动版本不兼容问题。修改脚本里的驱动初始化代码:from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service # 自动适配用户的Chrome配置文件路径 user_data_dir = r'C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data' options = webdriver.ChromeOptions() options.add_argument(f"user-data-dir={user_data_dir}") # 可选:指定具体配置文件,比如默认的Default文件夹 # options.add_argument("--profile-directory=Default") driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) - 配置外部参数文件:把需要修改的路径/变量放到
config.ini里,让用户用记事本就能修改,脚本读取这个文件:
对应的import configparser config = configparser.ConfigParser() config.read('config.ini') csv_path = config['SETTINGS']['csv_path']config.ini内容:[SETTINGS] csv_path = C:\你的文件路径\数据.csv - 打包成EXE:在脚本目录执行命令
pyinstaller --onefile --windowed your_script.py--onefile:生成单个EXE文件--windowed:隐藏命令行窗口(需要看日志就去掉这个参数)
- 分发:把
dist文件夹里的EXE和config.ini一起发给成员,他们修改配置文件后双击EXE即可运行。
方案2:批处理(BAT)一键配置环境
如果不想打包成EXE,用BAT脚本自动完成Python安装、依赖配置,步骤透明:
创建启动脚本.bat,内容如下:
@echo off chcp 65001 >nul :: 检查Python是否已安装 python --version >nul 2>&1 if %errorlevel% neq 0 ( echo 正在安装Python... :: 下载Python 3.10安装包(可替换为你需要的版本) curl -o python_installer.exe https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe :: 静默安装并添加到系统PATH python_installer.exe /quiet InstallAllUsers=1 PrependPath=1 del python_installer.exe echo Python安装完成 ) :: 安装依赖包 echo 正在安装依赖组件... pip install selenium pandas autopylogger webdriver-manager :: 提示用户修改配置 echo 请打开config.ini文件,修改CSV路径等参数后按任意键继续... pause >nul :: 运行自动化脚本 python your_script.py pause
- 同样搭配
config.ini让用户修改参数,把BAT、脚本、配置文件一起打包分发,成员双击BAT就能自动完成所有环境配置并运行脚本。
方案3:打包虚拟环境(适合需保留脚本可编辑性的场景)
如果成员偶尔需要微调脚本,可把配置好的虚拟环境一起打包:
- 在你的机器创建虚拟环境:
python -m venv venv - 激活虚拟环境并安装依赖:
venv\Scripts\activate.bat pip install selenium pandas autopylogger webdriver-manager - 写一个启动BAT:
@echo off venv\Scripts\activate.bat python your_script.py pause - 把
venv文件夹、脚本、config.ini、启动BAT一起压缩分发,成员解压后双击BAT即可运行,无需安装全局Python。
关键注意事项
- Chrome配置文件:用
%USERNAME%变量自动适配不同用户的路径,避免硬编码导致的找不到配置文件问题 - 日志排查:用autopylogger把日志输出到本地文件(比如
app.log),方便成员遇到问题时查看 - 权限问题:提醒成员如果遇到报错,右键以管理员身份运行EXE或BAT
内容的提问来源于stack exchange,提问作者Ellis Driscoll
相关产品推荐
相关产品推荐

