【发布时间】:2011-06-26 18:01:22
【问题描述】:
我正在尝试将我的代码库重新组织成一个合适的 Python 包(带有子包),以便上传到 PyPI。我有以下目录(用于测试):
Py6S/
__init__.py
test.py
Params/
__init__.py
AeroModel.py
AeroModel.py 包含:
class AeroModel:
NO_AEROSOL=0
CONTINENTAL=1
MARITIME=2
URBAN=3
USER=4
DESERT=5
BIOMASS_BURNING=6
STRATOSPHERIC=7
Py6S init.py 包含:
__all__ = ["Params"]
参数 init.py 包含:
__all__ = ["AtmosModel", "AeroModel", "AtmosCorr"]
但是,当我执行 from Py6S import * 时,我得到了可供参考的参数,但不是 AtmosModel 或 AeroModel。
我希望能够输入 from Py6S import * 并获得所有可用的 AeroModel、AtmosModel、AtmosCorr 等,而无需在它们前面放置任何模块名称。
【问题讨论】:
-
我建议您不要为模块及其类赋予相同的名称,因为这会造成轻微的混淆。使用小写字母作为模块名称 (PEP 8)。因此,在您的情况下,它应该是包含类
AeroModel的aeromodel.py模块 -
@Guanidene - 谢谢。这是否有助于为我在下面的答案中发表的评论提供一些解决方案?我希望能够轻松导入 AeroModel 类。