假设我有一个有用的python函数或类(或任何类)useful_thing
,该函数或类存在于单个文件中。本质上有两种组织源树的方法。第一种方法使用单个模块:
- setup.py
- README.rst
- ...etc...
- foo.py
在useful_thing
中定义的位置foo.py
。第二种策略是制作一个包装:
- setup.py
- README.rst
- ...etc...
- foo
|-module.py
|-__init__.py
在useful_thing
中定义的位置module.py
。在包装的情况下__init__.py
看起来像这样
from foo.module import useful_thing
这样在两种情况下都可以from foo import useful_thing
。
问题:首选哪种方式,为什么?
编辑:由于用户说这个问题的格式不正确,因此我要补充一点,官方python打包教程似乎并未评论上述哪种方法是首选方法。我明确不提供自己的利弊清单,因为我对是否存在社区首选方法感兴趣,而不是对利弊进行讨论:)
分享您的研究成果对每个人都有帮助。告诉我们您尝试过的内容以及为什么它不能满足您的需求。这表明您已花时间尝试自我帮助,这使我们免于重复显而易见的答案,并且最重要的是,它可以帮助您获得更具体和相关的答案。另请参见“ 如何问”
—
2014年
@gnat:感谢您提供有关如何提问的链接。我知道提出问题的做法很好,但是在这种情况下,我认为提供经验是不合适的,因为这很可能会将我作为明确的“ A或B”问题所提出的问题转化为征求意见。您如何建议在不以意见为基础的情况下改进此问题?
—
DanielSank 2014年
@gnat:换句话说,如果我对这两种方法的利弊列表感兴趣,我会问“这两种方法的利弊是什么”,并会列出自己的部分清单。
—
DanielSank 2014年