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即可。

相关推荐
JHC0000005 小时前
x 的平方根
开发语言·爬虫·python
love530love5 小时前
【笔记】重建 Stable Diffusion WebUI 虚拟环境实录
人工智能·windows·笔记·python·stable diffusion·aigc·虚拟环境
___波子 Pro Max.5 小时前
Python环境配置:.pythonrc与PYTHONPATH详解
python
唐笑笑在哪5 小时前
电机写代码时的注意事项
python
我的xiaodoujiao5 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 28--开源电商商城系统项目实战--封装注册页面
python·学习·测试工具·pytest
天天找自己5 小时前
TransNeXt 深度解析:聚合注意力机制的突破性视觉骨干网络
人工智能·pytorch·python·深度学习·神经网络
AI小云5 小时前
【数据操作与可视化】Matplotlib绘图-基础功能
python·数据可视化
m***66735 小时前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
I_ltt_Itw,5 小时前
Python多线程
服务器·python·pycharm
Hello.Reader5 小时前
Flink SQL 数据类型从 INT 到 VARIANT 的完整实战指南
python·sql·flink