WPI 是一个使用 Python 3 编写,在 Windows 下使用的,安装非本地打印机 (包括驱动,端口) 的工具。
如果你想运行一下程序就自动安装好多个 共享的 打印机或 TCPIP 打印机,这个程序就是你要找的。
如果你只想获取独立的程序,那么需使用 Resilio Sync 同步以生成好的程序。
Resilio Sync 下载地址:
https://www.resilio.com/platforms/desktop/
同步密钥:
BQ5LNWA34LIG3ETZMJ73ZEGMBW4P2WX24
先安装 Python 3 (建议选择的 32位 3.4 版),安装时注意勾选 pip 组件。
然后手动下载安装相应版本的 pywin32
再以管理员管理员权限运行:
pip install wpi
完成安装后,wpi 应该就可以直接在命令行下运行了。
注:为了解压在压缩包里的驱动,应当下载安装 7-Zip , 如果想把 wpi 打包成可以多系统下执行的独立程序,应当安装32位的 7-Zip
如果想在没有 Python 环境的系统下运行,得把 Python 环境和 wpi 及其依赖的模块打包在一起。 先安装 Pyinstaller:
pip install pyinstaller
然后运行 wpi 的打包命令:
wpi2exe
这样会生成独立的 exe 文件, wpi2exe 使用 LOCALAPPDATA%\wpi2exe\config.py 作为配置文件,如果此文件不存在,wpi2exe 会自动创建它。 可以编辑它以设置输出目录等。正如后缀名所示,此配置文件是一个 Python 脚本。
命令行参数的定义类似 Python 函数。
具名参数运行例子:
wpi ps=my_printers.py drivers=my_drivers_dir
ps 用来指定一个已定义了打印机列表的文件。
drivers 用来指定驱动程序的总目录。
当没有提供 ps 时,程序会使用 默认资源目录 下的 ps.py 文件作为默认打印机列表文件以直接安装打印机, 如果不存在则会进入 交互模式。
当没有提供 drivers 时,程序会使用 默认资源目录 下的 drivers 目录作为默认参数。
以独立程序运行时,默认资源目录既是程序所在的目录。
以模块脚本方式运行程序时,默认资源目录是 %LOCALAPPDATA%\wpi 。
它是一个环境变量,如果你的账户名是 韩梅梅,而且系统是 Windows 7 的话, 那么 %LOCALAPPDATA% 可能就是: C:\Users\韩梅梅\AppData\Local\
提示输入时,可以直接输入 ps 文件的路径,或输入 m/l 命令(见下面的作用说明),退出时用 q 命令。
会在 默认资源目录 里创建名为 _ps.py 的样例打印机列表文件以作为编写打印机列表文件时的参考。
会在 默认资源目录 里创建名为 drivers 的目录和以 系统位数,发行版本 为名的子目录。
你应该把驱动程序包根据适用情况,放在合适的目录里。
驱动程序包裹可放置在特定的发行版本目录下,也可放置在上一级,这样就表示这个驱动可用于多系统。
下载的驱动文件只要是 7-Zip 可以解包(解压)的文件就无需手动解包。程序会自动寻找包裹里的 inf 文件并比较在打印机列表文件里给定的驱动名,符合就会使用此包裹里的这个 inf 文件。 包裹里的 inf 文件只能在第一级包裹里,举个反例: 把 inf 打包为包裹1,然后把包裹1再打包成包裹2。这样的情况下程序就找不到 inf 文件了,因为包裹2的文件列表里无 inf 文件!
列出 包裹文件里的inf文件 或 inf文件里 的驱动名。