097、Python打包发布:setuptools与PyPI从一次深夜调试说起上周三凌晨两点,我还在公司调试一个刚写完的Python工具包。本地测试一切正常,但用pip install从测试服务器安装后,某个模块死活找不到。控制台反复报ModuleNotFoundError,咖啡已经续到第三杯,突然意识到——我忘了在setup.py里声明那个子包。打包时漏了目录,自然安装不进去。这个坑,不少刚接触打包的开发者都踩过。今天我们就来彻底解决这类问题。Python打包不是魔法,但细节决定成败。为什么需要打包?你写了个超好用的数据处理工具,同事也想用。总不能把整个项目文件夹压缩发过去,再附上一份“请先设置PYTHONPATH”的说明文档吧?专业的交付方式就是打包成标准分发包,让用户一句pip install your-package就能搞定所有依赖和环境。Python生态里,setuptools是打包的事实标准,PyPI(Python Package Index)则是官方分发仓库。两者配合,才能让你的代码走出本地,被任何人轻松安装。最小可用的setup.py先看一个最基础的setup.py长什么样。别急着复制,我们逐行解释: