我应该把Python包中单个模块的名称与包的名称匹配吗?
例如,如果我有一个仅包含一个模块的包,其结构如下:
super-duper/
super/
__init.py___
mycode.py
...
我可以在PyPi上创建一个名为super-duper
的包,安装后会在site-packages
中有两个名称不同的文件夹:
super/
super_duper-1.2.3.dist-info/
这意味着要导入我的项目,我使用
import super
与其真实的软件包名称 (super_duper
) 相反
这似乎违背了通常的惯例(从我在 site-packages
中看到的几乎每个其他软件包的文件夹来判断),这些文件夹都遵循以下模式:
same_name/
same_name-1.2.3.dist-info/
对于PyPi包same-name
。
我是否应该(总是)按照以下方式组织我的项目:
super-duper/
super_duper/
__init.py___
mycode.py
...
确保软件包名称和模块导入名称“匹配”:
import super_duper
我应该遵循哪些相关的最佳实践或规则?
.
)感到困惑。我能否将super_duper
替换为super.duper
? - orome