TLDR:做
import bash.bosh
要么
from bash import bosh
避免修改
sys.path,因为这会重复模块。
当你做
import bosh
它将导入 模块
bosh。这意味着python
Mopy/bash在您的中
sys.path找到该文件
bosh,并将其导入。现在,该模块的名称已在全球范围内广为人知
bosh。无论
bosh是本身就是一个模块或包不要紧此,它只会改变是否
bosh.py或
bosh/__init__.py使用。
现在,当
bosh尝试做
from .. import bass
这 不是
文件系统操作(“一个目录向上,文件低音”),而是模块名称操作。这意味着“一个包升级,模块低音”。
bosh不是从其程序包中导入的,而是独立的。因此,上一个包是不可能的-
您最终遇到该包
'',这是无效的。
让我们看看你做的时候会发生什么
import bash.bosh
代替。首先, 包
bash被导入。然后,
bosh被导入 为该软件包 的模块-
bash.bosh即使您使用,它也被全局称为
frombash import bosh。
什么
bosh时候
from .. import bass
一个作品现在:去一个级别从
bash.bosh得到你
bash。从那里
bass导入为
bash.bass。



