这篇就是简单把这款小工具梳理一下,方便你后面发帖介绍或自己查阅。
PackageMan 下载模式主界面
PackageMan 安装模式界面

一、PackageMan 是干什么用的
PackageMan 的定位很明确:帮你更省事地管理 Python 包,尤其适合需要做“离线环境部署”的场景。
平时我们用 pip install 装包,如果目标服务器不能上网,就会非常麻烦:
要么在能上网的机器上一个个下载 whl,要么手动整理依赖,非常费时间。
PackageMan 做的事情就是:
- 在有网络的电脑上,把你指定的包以及它所有依赖都 一口气下载到一个本地目录;
- 然后在目标环境(可以是完全离线)中,一键从本地目录安装这些包。
压缩包里面已经带好了可执行程序,还顺便集成了一个“在线更新 Python 版本”的功能,基本是开箱即用。
二、核心功能概览
- 精准下载依赖
在下载模式下,你只需要:
- 选好 Python 解释器(例如
D:\anaconda3\python.EXE); - 在“包名称”输入框里写上要安装的包,比如:
numpy pandas支持:
- 空格分隔多个包;
- 或者直接加载一个
requirements.txt文件。
- 选好目标 Python 版本、系统平台(win_amd64、win32 等)、是否仅下载二进制 whl、是否排除源码包等参数;
- 再选一个“包存放路径”,例如
E:\py\whl;
点“开始执行”之后,工具会调用 pip download,把这些包以及它们的全部依赖都下载到你指定的目录中。
右侧日志窗口会实时显示执行过程,某个包缺失、版本不匹配、下载失败等问题,日志里都能看到。
- 灵活安装包
下载完成后,切换到“安装”模式,就可以完成真正的部署。
- 选择目标 Python 解释器路径(可以是另一台机器上的解释器,也可以是同一台);
- 指定本地包库路径(就是前面下载时保存的那个目录);
- 选择“离线安装”或“在线安装”:
- 离线安装:完全不访问外网,只从本地目录安装;
- 在线安装:仍然会通过选定的镜像源在线拉包,适合网络环境良好的情况。
点击“开始执行”,工具会自动遍历本地 whl,并调用 pip install --no-index --find-links 之类的参数完成安装。
这样一来,在真正不能上网的生产环境,只要提前把这个目录拷过去,就能稳定把所需依赖全部装好。
三、界面和配置项说明
- 基础配置区
- Python 解释器:下拉选择本机已安装的 Python,可指向 Anaconda 或普通安装版。
- 包名称:手动输入包名,跟
pip install后面的写法一致; - requirements 文件:如果你已经有一个
requirements.txt,直接选这个文件即可批量处理; - 包存放路径:下载模式下的输出目录,建议使用一个单独的文件夹,方便打包拷贝。
- 仓库源与镜像
工具支持自定义 --index-url,默认示例中使用的是阿里云镜像:
--index-url https://mirrors.aliyun.com/pypi/simple
也可以切换回官方源或其他私有源,根据你自己的环境来选择。
- 包下载选项
- Python 版本:可勾选不同版本的标签(如 cp311、cp312 等),便于兼容多环境;
- 平台:
win_amd64、win32、manylinux 等,可以限制只下载某个平台的包; - 二进制策略:
- 只要 whl(prefer-binary);
- 不要源码包(no-binary);
- 或者接受所有类型。
这些选项本质上就是对 pip download 的参数打了一个图形界面壳子,不用记命令行参数也能完成比较复杂的下载策略。
四、项目结构与二次开发
- 封装方式:项目采用 Pystand 打包,你手里拿到的是一个可执行文件,双击就能跑;
- 源码位置:所有 Python 源码都放在
script目录里,如果你要看具体实现,可以直接进入这个目录; - 界面技术:前端界面基于 PyQt5,UI 元素通过
config.toml动态生成,这意味着:- 想改布局、改文字、改选项,不一定要写代码,只要调整配置文件就能生效;
- 适合二次包装成你自己的内部工具。
当前版本还没有在各种系统和 Python 版本上做特别全面的测试,如果你要上生产环境,建议先在测试机上多跑几遍,确认兼容性。
五、使用场景举例
- 给客户做离线部署
客户的生产服务器完全隔离外网,只能通过 U 盘拷文件,这种场景下先用 PackageMan 在能上网的机器上准备好所有依赖,然后整体拷过去,一键离线安装即可。 - 多环境维护
你有多台服务器,Python 版本略有差异,就可以在一台机器上下载针对多个版本的包,后面不同服务器按需选用对应目录安装。 - 自己搭建私有包库
利用 PackageMan 批量把常用第三方库下载到公司内部文件服务器,再配合--find-links参数,就能当一个简易的“离线 PyPI”来用。
六、附件与工具大小
- 工具本体 + 封装环境放在一个压缩包里;
- 附件总大小约 20M 左右,体积不算大,适合通过网盘或邮件分发。
相关文章
下载地址”