https://github.com/meng89/wpi
Windows Printer Installer
https://github.com/meng89/wpi
automatic install printer python windows
Last synced: 8 months ago
JSON representation
Windows Printer Installer
- Host: GitHub
- URL: https://github.com/meng89/wpi
- Owner: meng89
- License: lgpl-3.0
- Created: 2017-03-20T13:02:32.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-13T06:38:03.000Z (about 9 years ago)
- Last Synced: 2025-02-06T19:46:50.148Z (over 1 year ago)
- Topics: automatic, install, printer, python, windows
- Language: Python
- Size: 130 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Windows Printer Installer
=========================
WPI 是一个使用 Python 3 编写,在 Windows 下使用的,安装非本地打印机 (包括驱动,端口) 的工具。
如果你想运行一下程序就自动安装好多个 *共享的* 打印机或 *TCPIP* 打印机,这个程序就是你要找的。
通过 Resilio Sync (原 BitTorrent Sync) 直接获取独立程序
=============================================
如果你只想获取独立的程序,那么需使用 Resilio Sync 同步以生成好的程序。
Resilio Sync 下载地址:
https://www.resilio.com/platforms/desktop/
同步密钥:
BQ5LNWA34LIG3ETZMJ73ZEGMBW4P2WX24
通过 Python 模块方式安装
================
先安装 `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
-----
*ps* 用来指定一个已定义了打印机列表的文件。
参数 drivers
----------
*drivers* 用来指定驱动程序的总目录。
不提供参数时程序运行的方式
-------------
当没有提供 *ps* 时,程序会使用 *默认资源目录* 下的 *ps.py* 文件作为默认打印机列表文件以直接安装打印机, 如果不存在则会进入 *交互模式*。
当没有提供 *drivers* 时,程序会使用 *默认资源目录* 下的 *drivers* 目录作为默认参数。
默认资源目录在哪?
---------
以独立程序运行时,默认资源目录既是程序所在的目录。
以模块脚本方式运行程序时,默认资源目录是 *%LOCALAPPDATA%\\wpi* 。
%LOCALAPPDATA% 在哪?
``````````````````
它是一个环境变量,如果你的账户名是 *韩梅梅*,而且系统是 Windows 7 的话,
那么 *%LOCALAPPDATA%* 可能就是: *C:\\Users\\韩梅梅\\AppData\\Local\\*
交互式界面的用法
========
提示输入时,可以直接输入 ps 文件的路径,或输入 m/l 命令(见下面的作用说明),退出时用 q 命令。
m 命令
----
1. 创建样例打印机列表文件
``````````````
会在 *默认资源目录* 里创建名为 *_ps.py* 的样例打印机列表文件以作为编写打印机列表文件时的参考。
2. 创建供存放打印机驱动的目录结构
``````````````````
会在 *默认资源目录* 里创建名为 *drivers* 的目录和以 *系统位数*,*发行版本* 为名的子目录。
你应该把驱动程序包根据适用情况,放在合适的目录里。
驱动程序包裹可放置在特定的发行版本目录下,也可放置在上一级,这样就表示这个驱动可用于多系统。
下载的驱动文件只要是 7-Zip 可以解包(解压)的文件就无需手动解包。程序会自动寻找包裹里的 inf 文件并比较在打印机列表文件里给定的驱动名,符合就会使用此包裹里的这个 inf 文件。
包裹里的 inf 文件只能在第一级包裹里,举个反例: 把 inf 打包为包裹1,然后把包裹1再打包成包裹2。这样的情况下程序就找不到 inf 文件了,因为包裹2的文件列表里无 inf 文件!
l 命令
----
列出 包裹文件里的inf文件 或 inf文件里 的驱动名。