python导包机制-更优方式

在学习某个大模型应用的后端时,发现:

shell 复制代码
xxx
|-----src
|------\---modules
|------\------\------b.py
|-----app.py

app.py中可以使用src.modules.b来进行导入。之前我导入时是形如.modules.b这种形式(前面有.),但是当导入的是上上级目录中的文件时异常难以导入。

经过不断了解,才发现之前我导入的方式不够好。上述导包方式使得用python开发更像是在进行主流的前后端开发,心智负担很小,开发更加便捷。

本文对上述导包方式进行记录,防止之后再犯蠢。

包是存放多个模块的目录。在python3.3之前需要显示声明__init__.py文件,之后版本不强制要求声明。

导包

目录和各文件如下:

使用python app.py即可运行程序。

测试

由于导包原因,如果要对src/modules/call.py进行测试,不能直接进入对应目录,运行python call.py进行测试。

会提示没有模块src

-m参数可以使我们在根目录下直接进行测试,使用python -m src.modules.call即可。

相关推荐
淮北4941 小时前
pip虚拟环境包的问题
开发语言·python·pip
m0_706653232 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
Yvonne爱编码2 小时前
JAVA数据结构 DAY5-LinkedList
java·开发语言·python
witAI2 小时前
**AI漫剧制作工具2025推荐,零成本实现专业级动画创作*
人工智能·python
qq_423233903 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
林深现海3 小时前
【刘二大人】PyTorch深度学习实践笔记 —— 第四集:反向传播(凝练版)
pytorch·python·numpy
菩提树下的凡夫4 小时前
Python 环境管理工具
开发语言·python
索荣荣4 小时前
JavaToken实战指南:从原理到应用
开发语言·python
Albert Edison4 小时前
【Python】函数
java·linux·python·pip
2401_836563184 小时前
用Python读取和处理NASA公开API数据
jvm·数据库·python