Python中如何导入自建包?求教导入自建包的问题
5 回复
最好贴代码,你这都没排版很难猜是什么问题,初步看下来你先看看 main 里面是先 import 2 还是 3,先 2 的话会报错
在Python里导入自己写的包,核心就两点:确保你的包在Python的模块搜索路径里,然后正确使用import语句。
最常见的情况是你的包和当前脚本在同一个项目目录下。假设你的项目结构是这样的:
my_project/
├── my_package/
│ ├── __init__.py
│ └── module1.py
└── main.py
在main.py里,你可以这样导入:
# 导入整个包
import my_package
# 或者从包中导入特定模块
from my_package import module1
# 或者导入模块中的具体对象
from my_package.module1 import my_function
如果包不在同一目录,你需要把包的路径加到sys.path里。比如你的包在/some/other/path/my_package:
import sys
sys.path.insert(0, '/some/other/path')
import my_package
关键点:
- 包必须是一个目录,并且里面要有一个
__init__.py文件(可以是空的),Python才会把它当作一个包。 sys.path是一个列表,Python会按顺序在这些路径里查找模块。用insert(0, ...)可以让你自定义的路径优先被搜索。
一句话总结:确保包路径对Python可见,然后用标准的import语法就行。
import 当前文件夹下的包,需要使用
import .A
import .B
只有全局的包才能直接 import
import .1
import .2
import .3
可以试一下,你这提问看的人有点晕
看不懂上边说的啥 但是不是在 2 里边 import 3 吗 记得 python 好像自己会处理循环 import 的问题

