Python 模块、包与项目目录
Git、代码规范与项目工程化#Python全栈#第六阶段#Git、代码规范与项目工程化#Python 模块、包与项目目录约 618 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
模块、包和可安装的发行包分别是什么?
追问 安装时使用的项目名称,为什么不一定等于代码中的导入名称?
一个 Python 项目应该怎样组织业务代码、测试、配置示例与文档?
追问 怎样通过目录职责帮助新成员找到入口,并避免把缓存和运行产物混入源代码?
平铺目录与 src 布局有什么区别?
追问 为什么项目根目录中的文件可能让本地导入成功,但安装后导入失败?
__init__.py 的作用是什么?
追问 普通包与命名空间包有哪些差别?为什么不宜在包初始化时执行大量外部操作?
直接运行脚本与 python -m 包名.模块名 有什么区别?
追问 模块的包上下文与相对导入为什么可能表现不同?如何在文档中约定执行入口?
绝对导入与相对导入各适合什么场景?
追问 项目重构时如何减少导入路径混乱?为什么随意修改
sys.path 容易掩盖结构问题?循环导入为什么会导致部分初始化对象不可用?
追问 怎样通过提取公共定义、调整依赖方向或延迟导入解决?这些方案各有什么限制?
把文件命名为 json.py 或第三方库同名文件,可能造成什么问题?
追问 怎样确认实际导入模块的路径?改名后还应检查哪些残留文件和引用?
__main__.py 与控制台命令入口可以解决哪些使用问题?
追问 如何让同一业务逻辑既能被导入调用,又能通过命令行运行,而不重复实现?
哪些操作适合放在导入阶段,哪些应该放进明确的启动流程?
追问 导入即连接数据库、解析命令行或读取必需环境变量,会怎样影响复用与检查?
核对资料: Python 模块与包教程。