我刚刚用安装脚本制作了我的第一个 Python 包,我想知道这种行为是否正常。它由一个包含我想访问的类的模块组成。项目结构是这样的:
.
|
+ -- __init__.py
+ -- setup.py
my_package
|
+ __init__.py
+ my_class.py
__init__.py
总是空的。
当我安装它时,这是我期望的行为:
>>> import my_package
>>> my_class.MyClass()
A new object is born!
相反,我只能这样做:
>>> from my_package import my_class
>>> my_class.MyClass()
A new object is born!
如果相关的话,我的包和我的类文件的名称相同。这是一个糟糕的包装设计案例吗?我发现我可以通过输入来解决这个问题from my_class import *
,__init__.py
但我讨厌使用这样的语句,即使它们留在导入命名空间中。